[英]Can I insert C code into a C++ project (without Bugs or memory leaks)?
在我的项目中,在 c++ 中实现,我使用了 2 个库:
我知道 Libsodium 是在纯 C 代码中实现的,而 SFML 在 C++ 中实现,而我的项目在 C++ 中。
那么,我能否以安全的方式将 C 代码与 C++ 代码混合使用(没有错误和 memory 泄漏的风险)?
先感谢您
你可以,但你不应该。 使用不同的文件并使用带有extern "C"
的 header 。 C++ is (was or was intended to be) a superset of C, so everything written in C works in C++ . 但是可能会出现意想不到的复杂情况,例如命名空间冲突、C++ 关键字作为变量名,以及其他意想不到的东西。 C 也不是干净的 C++,所以有些人不会喜欢你的代码。
编辑,以消除误解:
您当然可以将两者结合起来,但您不应该只是将 C 代码复制到 C++ 项目中。
另一个编辑:
超集行为有例外。 很抱歉散布虚假信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.