最近,我有跟我的老板谁鼓励我在用C++流和坚持"好老"的讨论(很长一段时间C语言开发)printf和朋友.现在我可以理解他为什么这么说并相信我没有听从他的建议.
但是,这仍然是窃听我-有没有用C事情是在某些情况下仍较好比相同/相似的事情新C++实现?更好的意思是例如性能,稳定性甚至代码可读性/可维护性.如果是这样,有人可以给我一些例子吗?我主要讨论像printf/streams这样的类似差异,而不是关于继承或OOP等功能.我问这一切的原因是我认为自己是一个C++开发人员,因此我总是尝试编写C++方式.
小智 9
C printf() - 样式输出通常比C++ ostream输出快.但当然它无法处理C++输出的所有类型.这是我所知道的唯一优势 - 通常,由于积极的内联,C++可以比C快很多.
C程序员有时会指出一件事,值得考虑的是:如果你远离宏,那么C代码行的作用就显而易见了.以此为例:
x = y;
在C中,这是一个赋值,只有一个赋值.y的值是(在可能的转换之后)复制到x中.
在C++中,这可能意味着什么.
为了使它更有趣,每个单独的操作都可能在C++中抛出一个异常,这意味着每一行都必须以能够回滚它改变的方式编写,当你不能说实际的行时,这有时很难确实.更糟糕的是,您的程序可能会立即崩溃,因为异常发生是因为在异常展开期间调用了赋值.在C++中,事物往往变得"垂直复杂",这对开发人员的能力和沟通技巧提出了自己的要求.