C ++或C ++ 0x - 哪个标准更好?

时间:2010-09-17 03:10:10

标签: c++ c++11

所以我一直在努力做一些研究,并希望其他开发人员就此主题发表意见。我是一位经验丰富的C ++程序员,并且已经使用了当前的C ++标准。我一直在阅读“C ++ 0x无疑将成为新标准”的文章。从切换到全新的编程标准,我们每个人都想到了多远?另外,在你看来,这是一个更好的标准?根据我的理解,C ++ 0x将附带更多的标准库,使开发更容易,没有更多的依赖。请帮我赶上来!

谢谢!
丹尼斯M。

4 个答案:

答案 0 :(得分:10)

如果C ++的下一个版本在数量上比当前版本差,那将是非常可悲的。新版本的重点是改进。

答案 1 :(得分:7)

嗯,这取决于。

当前的C ++标准(C ++ 03)目前“更好”,因为大多数最新的C ++编译器和标准库实现都非常符合标准。是的,有一些问题,但大多数都是众所周知的(例如,几乎没有任何编译器支持导出)或者相当容易解决。

现在支持C ++ 0x非常不完整。不同的编译器支持不同的部分,并且在过去一年中已经对其进行了相当大的修改,因此如果您认为它们符合最新的草案,那么确实为某些功能提供早期支持的编译器现在是“错误的”。

但是,展望未来,C ++ 0x将是对C ++ 03的巨大改进。并发内存模型和标准线程和原子库等主要功能对于语言的未来非常重要。移动语义将使编写干净,高性能的代码变得更容易。大多数新语言功能将使用C ++开发更愉快的体验。

答案 2 :(得分:2)

“C ++ 0x无疑将成为新标准”是轻描淡写。 C ++ 0x是新标准的草案。它的一部分现在可以在G ++ 4.5等编译器中使用。

不可能 C ++ 0x在质量上比当前的C ++标准更差,因为新标准的一个基本要点是完全向后兼容。如果有坏的部分,你可以避免它们。 (当然,这并不意味着C ++ 0x中的新功能无法用于创建您必须处理的非常糟糕的代码,但如果您自己编写代码,则可以随时选择避免在您看来更糟糕的C ++ 0x功能。)

答案 3 :(得分:1)

取决于“更好”的意思。如果你的意思是“更有可能使用我目前正在使用的任何编译器”,那么旧标准肯定会更好,只会引入一点boost