【发布时间】:2011-12-08 11:12:55
【问题描述】:
我正在使用 MinGW 的 g++ 测试我在网上找到的一些 sn-ps。这是 C++ 编译器...为什么它会正确编译 C....为什么人们将 C 和 C++ 交织在一起。
具体的问题是:可以吗?同时使用 C 和 C++ 并在 g++ 下编译。如果答案是肯定的,这让我的生活变得轻松,因为我不必修改代码。
奇怪的是......要让一些 C++ 工作,特别是在将字符串传递给 ifstream 构造函数时,它需要一个 C 类型的字符串......
我的猜测是,因为 C++ 有时依赖于 C 结构,所以将这两种语言一起编写是可以的。
但是,就风格而言,您应该选择cout/cin 或printf/scanf。
【问题讨论】:
-
C 本质上是 C++ 的一个子集。到 C++ 出现时,C 中的代码已经有了(现在仍然如此),所以你不能期望这两种语言不兼容。
-
注意:从 C++11 开始,您还可以从
const std::string&构造std::ifstream(例如,参见 last draft 的第 27.9.1.7 节)。
标签: c++ c printf iostream scanf