首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有特定的时间在c++17上使用c++17

是否有特定的时间在c++17上使用c++17
EN

Stack Overflow用户
提问于 2017-08-21 20:36:17
回答 2查看 1.1K关注 0票数 4

假设我想创建一个现代的c++应用程序。我的遗留代码为零,需要与c++98/03向后兼容。是否有理由选择c++11或c++14而不是c++17?

从研究来看,c++11和c++17之间似乎没有什么重大的变化,看起来c++17就是c++11,具有越来越多的特性。我意识到支持c++11特性的编译器比所有新的c++17更改都要多。

因此,编译器支持是一个考虑因素,因为它会影响可移植性。另外,c++17还没有正式发布,但在某种程度上它将会发布。

为了在C++11和C++17之间做出选择,我应该评估哪些标准?我在找没有意见的理由。

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-08-21 20:46:38

我觉得这会像模糊的、基于意见的,但到底是怎么回事。请记住,14也在11到17之间,而且得到了更广泛的支持。据我所知,现在基本上没有理由在一个新的代码基中使用11 / 14。对于17来说,问题就像你说的,编译器支持。如果您需要针对windows,MSVC仍然缺少大量的17支持:features

为了现在编写跨平台的17段代码,您几乎肯定需要一些繁重的连续集成,在每次推送时,至少要在2(如果不是3)编译器上构建和运行您的代码。

如果您不是针对windows,或者即使您可以只使用一个编译器,我看不出有什么理由不使用17。(我的意思是:如果您只针对MSVC,它的17支持是半途而废,但使用可用的内容几乎没有什么坏处,如果某些东西不支持它就不会构建。当您支持支持不同事物的不同编译器,而不是在本地构建它们时,这就变成了一场噩梦)。

票数 3
EN

Stack Overflow用户

发布于 2017-08-21 20:56:55

通常,这意味着独立于C++,当它们由于遗留的东西而不受限制时,建议使用系统或语言的最新版本。

退一步执行版本的原因可能是

  • 对此版本的工具支持不够(这可能因项目而异)
  • 众所周知,工具是有缺陷的。
  • 版本规范未完成
  • 只有对你真正得到的判断,而不是对未来的其他承诺。

此列表可能不完整。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45805157

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档