我是编程的初学者,正在学习“ C ++ For Dummies”一书。
在书的开头,它告诉我在编译器设置中选择3个编译器标志。
我可以选择第一个选项,没问题。 但是,使用2 g ++选项,我只能选择其中之一。
在我从书中学习时,有没有办法选择没有错误的两种方式?
答案 0 :(得分:3)
选择C ++ 11,就可以了。
它们都是语言标准,因此您只能选择其中之一。
此外,C ++语言标准是向后兼容的,这意味着使用更新的标准(C ++ 14,这是2014年发布的标准,因此名称)将始终包含以前的标准。
(请注意,很少有例外,例如已弃用的例外。但是您实际上不必担心这一点,因为已弃用的例外很可能会替换,并且编译器也将警告您)
现在回到为什么不能使用C ++ 11和C ++ 0x进行编译
C ++ 0x类似于C ++ 11的草稿版本,如果您在C ++之后看到任何英文字符,则它们很可能是草稿标准,而不是官方标准。没有太多理由使用C ++ 0x而不是C ++ 11。
由于所有标准都极有可能向后兼容,因此没有太多理由编译成较旧的标准。当然,您可能会问为什么不总是在较新版本中进行编译?原因是并非所有的编译器都实现了较新的标准。因此,如果需要向后编译器兼容性,请选择较旧的标准,例如C ++ 98(于1998年发行)。否则,我个人建议使用较新的标准或至少使用C ++ 11。
有关C ++语言标准的更多信息,请访问以下Wiki页面: https://en.wikipedia.org/wiki/C%2B%2B#Standardization
如果您想进一步了解C ++,可以在这里找到参考手册: https://en.cppreference.com/w/