是否在编译时评估了strlen(__ FILE__)

时间:2015-05-27 16:58:58

标签: c++ c++11

在编译时评估strlen(__FILE__) - 假设我使用的是最近的编译器(GCC,Clang,MSVC)?

2 个答案:

答案 0 :(得分:8)

由于constant-folding优化传递,Clang和gcc都能够在编译时计算出来,但这在C ++标准中是无处可执行的。

使用sizeof could ensure这是在编译时计算的。

答案 1 :(得分:0)

不,因为strlen没有被标准定义为constexpr函数