constexpr是C ++ 11中引入的修饰符,它通知编译器函数或变量的值是已知的,或者可以在编译时计算。因此,它可以在不可能的地方用作常数。
c++11 constexpr 将 std::array 列表展平为数组
我从 c++11 开始,constexpr 和模板元编程似乎是在微型微控制器上节省稀缺内存的好方法。 有没有办法编写一个模板来展平 constexpr arr 列表...
我正在使用 constexpr 函数(字符串 -> NFA -> DFA)在 C++ 中编写一个简单的编译时正则表达式解析器。但是,我无法将我的一些类方法设置为 constexpr。我尝试了各种组合...
是否可以在编译时初始化array_object的idx值,使得member_array[0].idx = 0;成员数组[1].idx = 1; ...member_array[array_size-1].idx = array_size-1。价值
如何在 C++11 constexpr 中检查双精度位模式是否为 0x0?
我想检查给定的双精度/浮点变量是否具有实际的位模式 0x0。不要问为什么,它用在 Qt 中的一个函数(qIsNull())中,我想将其设置为 constexpr。 原始代码使用了...
如何在 C++ 中使用 lambda 进行静态成员初始化? [已关闭]
我正在 C++ 17 中处理 DDD 值对象,所以一切都是 const/constexpr ,工作得很好。有以下两个类: JD级决赛 { 民众: constexpr 显式 JD(const 无符号
在源文件中声明 constexpr 常量的正确方法是什么?我分为两种方式: constexpr int ORDER = 1; 与 命名空间{ constexpr int ORDER = 1; } // 未命名的命名空间 重新...
我编写了一个表示大整数的模板类,如下所示: 模板 类整数最终{ //一些公共函数。 私人的: 埃莱梅...
为什么我可以在 constexpr 函数内调用非 constexpr 函数?
考虑以下代码: #包括 constexpr int f() { return printf("副作用! ”); } int main() { 字符a[f()]; printf("%zd ",a) 的大小; } 我会有前...
MSVS 社区 2022 不允许使用带有 cout 的 constexpr,但 gcc 允许。哪个是正确的?
以下代码无法在 msvs 社区 2022 上编译,显示“错误 C3615:constexpr 函数 'logError' 无法生成常量表达式。” #包括 #包括<
C++1y/C++14:将静态 constexpr 数组转换为非类型模板参数包?
假设我有一个静态存储持续时间的 constexpr 数组(已知范围): constexpr T input[] = /* ... */; 我有一个需要包的输出类模板: 模板 结构
constexpr 指向 constexpr 数组的指针,不是常量表达式
我遇到编译错误, constexpr char array[]={"我的字符串"}; constexpr const char* ptr = 数组; **(const char*)(& array) 不是常量表达式** 我认为使用 const...
最近,我一直在使用 C++20 的新 constexpr std::vectors (我使用的是 GCC v12),并且遇到了一个小问题(这实际上是我上一个问题的扩展,但是我也这么想
我在使用 constexpr 时遇到了一些问题。 《C++ Primer》一书展示了一行代码: constexpr int sz = size(); // 只有 size() 是 constexpr 函数 // 这段代码是ri...
我有一个计算字符串文字散列的函数: 内联 consteval uint64_t HashLiteral(const char* key) { // 身体在这里并不重要... 返回0; } 在另一个函数中我需要...
constexpr int* ptr =&i 在 msvc 中编译,但不能在 clang 和 gcc 中编译
我正在使用此处列出的书籍学习 constexpr 变量。特别是我在 C++ Primer 中读到: 声明为 constexpr 的变量是隐式 const,并且必须使用常量初始化
constexpr vs const vs constexpr const [重复]
变量上的 const 与 constexpr 如果使用 double (或者当然是 float ),那家伙关于 constexpr 的说法是正确的。但是,如果将 var 类型从 double 更改为整数类型(如 int、char)...
const int 和 const double 在编译时的区别
在阅读这篇文章时,我遇到了这个例子: #包括 #包括 int main() { 常量 int var1 = 5; 常量双 var2 = 8.4; std::cout << &quo...
我设计了一个具有枚举模板专业化的结构,如下所示: 模板 结构类型特征; 模板<> 结构类型特征 { 静态常量表达式
鉴于我想改进我的 C++ 代码库。第一步是将函数标记为 constexpr,以满足所用 C++ 标准的要求。有没有办法判断一个函数是否...
在 msvc 的 constexpr 上下文中未调用构造函数体
我试图将初始值设定项列表传递给结构的构造函数,其参数是 std::vector,但我在 Visual Studio 社区中得到了意外的结果。这是重现的代码...