constexpr 相关问题

constexpr是C ++ 11中引入的修饰符,它通知编译器函数或变量的值是已知的,或者可以在编译时计算。因此,它可以在不可能的地方用作常数。


constexpr版:: :: std :: function

我正在寻找constexpr中可用的:: std :: function。用例:我有一个函数,它将函数指针作为参数,第二个函数将lambda传递给第一个函数。两者都是 ...

回答 1 投票 2

逗号运算符使lambda表达式非constexpr

根据[此问答],因为c ++ 11逗号运算符是constexpr能力的。根据[此问答],constexpr变量不应该被lambda捕获,但应该可以在其体内使用。两者......

回答 2 投票 6

意外(IMO)恒定转换警告

考虑以下代码:#include static constexpr uint8_t a = 0x80; static constexpr uint8_t b = ~a;它会产生以下警告: :5:30:警告:暗示......

回答 1 投票 -1

为什么不能将析构函数标记为constexpr?

在C ++中,您可以将许多内容声明为constexpr:变量,函数(包括成员函数和运算符),构造函数,以及自C ++ 1z以及if语句和lambda表达式。但是,......

回答 5 投票 29

C ++ constexpr:在编译时计算std数组

我想将bool的“数组”转换为整数序列。所以我需要在编译时计算一个std :: array。这是我的代码#include 模板 ...

回答 2 投票 7

c ++为什么这个static_assert有效:

我有关于constexpr的以下问题,我有点明白,一个人不能声明一个std :: shared_ptr 是const,但为什么第一个static_assert()有效?另外,怎么做......

回答 2 投票 2

使用参数包扩展生成Constexpr

我有以下代码:#include #包括 使用std :: vector;枚举EventType {EventType_Collision,EventType_Accelerate,EventType_Glide};模板

回答 2 投票 1

在类的范围内传递指向constexpr函数的指针时,是否滥用推断父模板的参数

我得到的最小例子有点复杂:struct A {};模板 struct Parent {};模板 constexpr int operator *(A,Parent *){返回N; }模板

回答 1 投票 8

static constexpr模板成员在专门化时给出undefined-reference

以下代码给出了未定义的引用链接错误:模板 struct X {static constexpr int x = 0; }; template <> constexpr int X <1> :: x; int main(){...

回答 3 投票 4

如何让我的C ++编译器发出constexpr值(例如警告?)

(这是一个XY问题,但请耐心等待。)我收到关于移位量太大的编译警告。现在,为了诊断这个,我希望我的编译器以某种方式发出...

回答 3 投票 5
推荐问题