constexpr是C ++ 11中引入的修饰符,它通知编译器函数或变量的值是已知的,或者可以在编译时计算。因此,它可以在不可能的地方用作常数。
当我尝试在非constexpr函数中运行constexpr函数时会发生什么?
标题可能会产生误导,不知道如何解释这一点,但我会提供一个例子。所以我有这样的结构:struct mom {public:static constexpr auto create(int i){return a(i); } ...
我有一些标记为constexpr的非平凡的C ++ 17函数。他们正在进行与图形相关的计算(深度优先遍历)和通用算法(例如,查找,排序,唯一......)。如果我试图强迫......
我试图使用哈希函数获得基于字符串的开关表达式在C中工作。我已经能够使用'constexpr'使用Clang / LLVM转向C ++,使用干净的语法,即使...
使用从不打算在常量表达式中使用的constexpr变量是否有好处?
这是对此问题的后续问题。从链接问题中的一个答案来看,将变量声明为constexpr的目的并不是真正告知编译器......
(剧透 - 这是一个自我回答的问题)让我假装我有两个索引序列,例如使用i1 = std :: index_sequence <1,3,5,7>;并使用i2 = std :: index_sequence <2,4,6,8> ...
请考虑以下示例代码:#include struct MyClass {size_t value = 0; constexpr static size_t size()noexcept {return 3; }};模板 无效......
在C ++ 14中,如何初始化包含文本字符串的std :: pair的全局constexpr std ::数组?以下不起作用:#include constexpr std :: array
如果我有一个用存储声明的变量,即int x;并通过调用constexpr函数对其进行初始化,它将在main开始执行任何代码之前确定其值。 constexpr int ...
constexpr和一个带有重新解释强制转换的静态const void指针的初始化,哪个编译器是对的?
请考虑以下代码:struct foo {static constexpr const void * ptr = reinterpret_cast (为0x1); }; auto main() - > int {return 0;上面的例子编译......
假设您有一个为您的应用程序生成一些安全性令牌的函数,例如一些哈希盐,或者可能是对称或非对称密钥。现在让我们说你有这个功能......
我试图为值列表中的值创建索引元查找器。这是代码:#include #包括 模板 struct ValueTplList; ...
将默认赋值运算符声明为constexpr:哪个编译器是对的?
考虑结构A1 {constexpr A1&operator =(const A1&)= default; ~A1(){}}; struct A2 {constexpr A2&operator =(const A2&)= default; ~A2()=默认值; }; struct A3 {...
我正在测试下面的代码来检查constexpr的性能。对于第一次迭代,结果如预期。但是对于下一次迭代,正常函数调用优于constexpr ...
这是一个难题而不是现实世界的问题,但我已经陷入了一种情况,我希望能够写出与模板完全相同的东西 结构...
模板 class Vec {T data [S]; public:constexpr Vec(const T&s):data {s} {}};模板 ...
从捕获constexpr函数返回值的变量中删除constexpr会删除编译时评估
考虑以下constexpr函数static_strcmp,它使用C ++ 17的constexpr char_traits :: compare函数:#include constexpr bool static_strcmp(char const * a,char const * ...
有没有一种方法来决定是否可以对constexpr进行评估,并将结果用作constexpr布尔值?我简化的用例如下:模板 类来源......
如果你有一个函数,如果constexpr()决定做一件事或另一件事,如何在一个案例中返回左值,在另一个案例中返回右值?以下示例不在...中编译
exemplo.cpp:#include 使用std :: is_same; #包括 使用std :: declval; #包括 使用std :: ostream;使用std :: cout; struct Foo final {int ...
对仅由value使用的静态constexpr成员的未定义引用
我试图创建一个包含字体样式的聪明的类。在此之前由3个具有逐位兼容值的枚举组成(每组值与其他枚举没有重叠位)...