我正在阅读这个网站
这是一个C ++网站。但是,它使用printf来显示东西。但是,我认为在c ++中,我们使用cout来显示东西。我们可以像在这里一样混合使用c和C ++代码。
答案 0 :(得分:7)
没有C ++和C代码的混合。虽然您当然可以在C ++中使用cout
,但您也可以使用printf
。绝大多数合法的C代码也是合法的C ++代码。实际上,如果您的代码printf
的{{1}} {/ 1}},则C ++标准的第27.8.2节要求定义#include
。
答案 1 :(得分:3)
从技术上讲,是的 可以 混合使用C和C ++代码。 C ++是一个接近超级的C语言集,拥有所有的C库(除了一些细微的差别)。
但是, 是否 混合使用C和C ++是另一回事。一般来说,如果你用C ++编写,你应该坚持使用C ++结构。
答案 2 :(得分:1)
是的,C和C ++(极少数例外)既可能又容易混合。您可能遇到问题的一个例子是混合printf和cout,输出可能不是您期望的顺序。
答案 3 :(得分:1)
在C ++中,C-runtime可用,因为C ++在很大程度上与C兼容,以便向后兼容。也就是说,如果你正在编程C ++,你应该尽可能避免使用C运行时,因为C ++在功能和安全性方面提供了更多。例如矢量,字符串
答案 4 :(得分:1)
当然可以!但请确保将代码保存在.cpp文件中。有些编译器不会在.c文件中编译C ++代码。
答案 5 :(得分:1)
C ++包含(大部分)C作为子集(尽管这不是严格的子集)。如果你#include <cstdio>
可以使用printf这样的东西,除非你有充分的理由,你应该坚持使用C ++结构(std::vector, std::cout, new, delete,
等)。
答案 6 :(得分:0)
是的,你可以混合2个代码,但是如果你不愿意编辑与C的兼容性,结果代码应该是C ++。对于大多数代码来说,C ++是向后的
答案 7 :(得分:0)
让C ++编译器知道您正在调用C代码:
#ifdef __cplusplus
extern "C" {
#endif
void myCFunction();
#ifdef __cplusplus
}
#endif