gpt4 book ai didi

c++ - 有没有办法确定 C++ 编译器实现的语言特性?

转载 作者:太空宇宙 更新时间:2023-11-03 10:41:51 24 4
gpt4 key购买 nike

不同的 C++ 编译器在不同的时间点实现不同的语言特性(例如,参见 clang C++ statusgcc c++ status ;其他编译器也是如此)。创建 C++ 库时,通常需要支持最新功能以改善用户体验。当支持新功能而不是随处实现的通用子集时,了解编译器支持哪些功能很有帮助,而不必为每个编译器支持一组版本号。

是否存在可在编译时使用的合理标准化的功能测试集,以确定编译器是否支持特定语言功能?

最佳答案

您可能无法比 Boost.Config 做得更好图书馆。它为各种 C++11 和 C++14 功能定义预处理器宏,这些功能在 C++11/14-ish 编译器(如 VC++)上不受普遍支持。它与您要达到的标准一样接近。

IIRC,它的工作方式类似于 autoconf,通过预先构建(并在必要时执行)一堆简单的测试程序。我不认为你会得到任何完全在编译时运行的东西,仅仅是因为有些东西在一个实现中是关键字,而在另一个实现中是语法错误。

关于c++ - 有没有办法确定 C++ 编译器实现的语言特性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34298028/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com