我一直在读一本关于C ++ 14/11的书。我刚读完了关于constexpr
关键字的章节。我知道它用于什么,但我应该多久使用constexpr
?我是否应该在类代码中使用它,我知道永远不会用它来创建contstexpr
个对象? (以防万一,因为它不会让我付出任何代价,对吗?)
答案 0 :(得分:8)
C ++ 14我应该多久使用一次constexpr?
在Scott Meyer's本书Effective Modern C++的第15项(尽可能使用constexpr )中进行了广泛的讨论。
这个项目的大纲是尽可能使用constexpr
,因为constexpr
函数和对象可以在比非{{1}更广泛的上下文中使用。 }}。
但是,在同一项目中,作者提到了过度使用constexpr
的警告。也就是说,如果您决定将对象或函数限定为constexpr
,则允许您的客户在constexpr
内容中使用它。但是,如果您稍后决定此代码不能为constexpr
并删除constexpr
,则可能导致您的代码无法编译,包括这将对您的客户产生的副作用。
引自原文:
“尽可能使用constexpr”是您愿意长期致力于对物体施加的限制和 你应用它的功能。