【发布时间】:2019-06-13 10:30:03
【问题描述】:
我有使用 constexpr 说明符声明的函数,并且我已经测试过它们在单元测试的编译时被评估。
现在我想在我的单元测试中使用消毒剂来发现更多问题。但是因为我的很多函数都是用constexpr 指定的,所以我不确定该怎么做,因为如果在编译时评估一个函数,那么消毒剂是否无用?
有没有办法强制constexpr 函数在编译时不被评估。
或者你有什么其他的建议。
【问题讨论】:
-
GCC、Clang 和 MSVC 似乎都不会在未优化的构建(以及调试构建)中在编译时评估 constexpr 函数,除非它们在编译时的上下文中使用常量是必需的。
标签: c++ c++11 metaprogramming constexpr