constexpr是C ++ 11中引入的修饰符,它通知编译器函数或变量的值是已知的,或者可以在编译时计算。因此,它可以在不可能的地方用作常数。
constexpr成员函数与C ++中的std :: vector数据成员
我试图在C ++类中实现一个constexpr成员函数,它返回一个模板参数。代码应该是c ++ 11兼容的。但是当我遇到编译问题时......
我有一个用__func__调用构造函数的宏。是否可以将其转换为constexpr并仍然使用func的“本地”/“正确”版本? #define LOG_SCOPE_DURATION(category_arg)\ ...
在编译时,Clang不会为非constexpr变量计算constexpr函数的值
一些代码:constexpr int sum(int a,int b){return a + b; } int main(){int a = sum(4,5);返回0;我用clang-9编译这段代码,但它没有评估int a的值...
我想有一个B类,它有另外一个A类的3个成员对象.A和B的构造函数都是constexpr。 A - 包含在B内 - 是不可复制和不可移动的。这段代码......
我希望在我的类中有一个静态const char数组。海湾合作委员会抱怨并告诉我,我应该使用constexpr,虽然现在它告诉我这是一个未定义的参考。如果我让阵列成为非成员那么......
constexpr矢量push_back或如何constexpr所有的东西
Jason Turner和Ben Deane在2017年的C ++中有一个很好的对话,叫做constexpr所有的东西也提供了constexpr矢量实现。我自己也在考虑这个想法,因为......
在试图解决为什么我遇到某个编译错误时,我想出了以下最小的例子:constexpr void Test(bool test){if(test)return;断言(假); } ...
以下代码生成对'Test :: color'的未定义引用。 #包括 struct Color {int r,g,b; }; void printColor(Color color){// printing color} class Test {...
这段代码用clang和gcc编译得很好。模板 struct N {static constexpr size_t v = n; };模板 constexpr bool运算符,size_t n2){...
所以在我的C ++家庭作业中,指令说..为kUnboundLower和kUnboundUpper创建一个constexpr成员。 ...创建下限和上限设置器和getter。怎么样 ...
如何初始化std :: vector的静态constexpr成员 在c ++ 11中?
我正在尝试在我的类Foo中初始化std :: strings的静态constexpr std :: vector。我稍后会使用其元素的地址。 class Foo {public:static constexpr std :: vector
我正在尝试构建一个用于放置标签的侵入式分析器。如果这些标签可以转换成在编译时直接索引到数据结构中的整数,那将是非常好的...
如果我在函数内部有一个变量(比如一个大型数组),那么将它声明为static和constexpr是否有意义? constexpr保证在编译时创建数组,所以...
我对元编程的语言特性有点新意,我试图用公共静态const变量创建一个简单的类,它将通过编译时常量设置它的值:我是...
为什么constexpr在编译时没有评估(MSVC 2015)?
最近我试图利用MSVC 2015下的C ++ 0x constexpr,我的目标是实现编译时哈希字符串。我写了一个简单的FNV-1a哈希算法作为constexpr函数使用,...
请考虑以下代码:模板 int Fibonacci(){if constexpr(nIndex == 0)返回0;如果constexpr(nIndex == 1)返回1; static_assert(nIndex> = 0,“无效...
出于许多目的,打包成无符号32位整数的短字符串/字符数组非常有用,因为可以一次性比较它们与简单的整数比较并用于交换...
是否有可能解释为什么以下代码没有按预期工作?在这种情况下,我会假设static_asserts都会通过,尽管用Failed指示的那个似乎不...
如何让我的C ++编译器发出constexpr值(例如警告?)
(这是一个XY问题,但请耐心等待。)我收到关于移位量太大的编译警告。现在,为了诊断这个,我希望我的编译器以某种方式发出...
static constexpr模板成员在专门化时给出undefined-reference
以下代码给出了未定义的引用链接错误:模板 struct X {static constexpr int x = 0; }; template <> constexpr int X <1> :: x; int main(){...