-4

这个问题让我很困惑。因为 C++ 是 C 的超集,所以程序员可以自由使用 C 的库函数,如 printf()、scanf() 和许多其他函数等。但我通常喜欢 C++ 的面向对象的 I/O 系统,我最喜欢使用cout 和 cin . 因为 iostream 更安全、更不容易出错、可扩展、灵活且可继承。我应该因为 iostream 的优势而停止使用传统 C 的 I/O 函数,还是应该修改我的程序来使用?哪种方法更好?混合 C 和 C++ I/O 时应该注意哪些地方。我知道向后兼容遗留 C 程序是必要的,但我真的应该怎么做呢?

4

1 回答 1

2

默认情况下,C++ 和 C 流是同步的,因此您可以安全地混合使用它们。此行为由std::ios_base::sync_with_stdio控制。


至于你是否应该这样做?没关系。C++ 没有通用的风格指南。一些程序员更喜欢 C++ iostreams 接口,一些更喜欢 C 的方法,还有一些混合使用它们。

这里有一些链接比我能更好地讨论这个问题。

我应该切换到 C++ I/O 流吗?

管道胶带程序员 - Joel Spolsky

于 2015-04-17T17:25:59.173 回答