最近,我和我的老板(一个长期的C开发人员)进行了一次讨论,他不鼓励我使用C++ streams,而是坚持使用“老朋友”printf
& friends。现在我明白他为什么这么说了,相信我,我没有听从他的建议。
但这仍然困扰着我--在某些情况下,C中有没有比相同/相似东西的更新的C++实现更好的东西呢?我所说的更好的意思是性能,稳定性,甚至代码的可读性/可维护性。如果是这样的话,有人能给我举个例子吗?我主要讨论的是类似的区别,如printf/stream,而不是继承或OOP等特性。我问这些问题的原因是,我认为自己是一名C++开发人员,因此我总是尝试编写C++ way。
发布于 2010-07-09 18:34:11
C printf()-style输出通常比C++ ostream输出更快。但当然,它不能处理C++输出可以处理的所有类型。这是我所知道的唯一优点--通常,由于积极的内联,C++可以比C快得多。
发布于 2010-07-09 18:33:16
在编写C++时,请编写C++。当你写C的时候,写C。不管谁说的不一样,都可能会对这些不同感到不舒服,或者认为C++是一个“更好的C”。事实并非如此;C++是它自己的语言,有它自己的特性,并且主要是为了简化转换而与C兼容。
发布于 2010-07-09 18:33:20
就性能而言,我曾经是USACO的竞争对手。我很快发现我的一个程序98%的运行时间都花在了C++ IOStreams上。更改为fscanf可将开销减少到原来的十分之一。在性能方面,根本没有竞争。
https://stackoverflow.com/questions/3211761
复制相似问题