使用C ++ 98标准编写的代码是否适用于较新的编译器,例如g ++。或者它不会起作用。假设简单的“Hello World”程序可以工作,但复杂的命令行程序呢?
答案 0 :(得分:2)
-std=
的{{1}}命令行参数允许您针对特定版本的标准进行编译。
请参阅:http://linux.die.net/man/1/g++
如果将来g ++的作者(这适用于我认为的任何编译器)决定默认为标准的不兼容版本,那么这个参数可以让你编译旧的代码。
如果g ++的作者完全支持C ++ 98支持,它应该停止工作。我看到这种情况发生只有当C ++ 98代码的数量变得如此之小或者新标准与它不相容时才会让人们更新所有代码而不是继续支持它。无论如何,这应该是一个渐进和可预见的变化。