constexpr 相关问题

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

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

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

回答 1 投票 8

使用参数包扩展生成Constexpr

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

回答 2 投票 1

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

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

回答 2 投票 2

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

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

回答 2 投票 7

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

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

回答 5 投票 29

意外(IMO)恒定转换警告

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

回答 1 投票 -1

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

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

回答 2 投票 6

constexpr版:: :: std :: function

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

回答 1 投票 2

© www.soinside.com 2019 - 2024. All rights reserved.