constexpr 相关问题

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

为什么函数可以是 constexpr,即使它们不能在常量表达式中使用?

constexpr 说明符声明可以在编译时计算函数或变量的值。 constexpr 函数的唯一用例是它能够在 com 上解析...

回答 2 投票 0

当 constexpr 时,C++ 可变参数模板“不包含参数包”是否应该避免?

我正在使用一些 C++ 20 功能(例如折叠运算符)来在编译时获取可变参数模板的大小。然后,我在 constexpr 中使用这个大小,以避免使用任何可变参数...

回答 1 投票 0

C++ 中的 constexpr switch 语句

我们在 C++ 中支持 switch constexpr 吗? 对于上下文,我们都知道我们有 if constexpr 用于编译时 if 语句。这些 if 语句的开销非常低,因为编译器会忽略...

回答 1 投票 0

C++中常量求值时悬空指针可以等于有效指针吗?

在 C++17 中的常量表达式求值期间,编译器是否应该考虑任何寻址有效对象的指针与在其生命周期结束后寻址对象的任何指针不相等? 为了考试...

回答 1 投票 0

Constexpr 匹配宽字符串与窄字符串类型

我有一个 fmt 包装器,可以打印到 Visual Studio 调试输出。我尝试添加宽字符串支持: 模板 void fmt(Arg&& arg, Args&&...

回答 1 投票 0

Constexpr / 编译时常量表达式错误

我的项目在编译时出现以下错误。尝试了一切但无法解决这个问题。 在这里重现错误: https://replit.com/join/egfoiwpgig-darshanpandhi 错误 错误:constexpr

回答 1 投票 0

强制 constexpr 函数在运行时求值?

考虑以下场景: 模板 constexpr 自动计算值() { // ... } 无效 funcA() { 静态 constexpr auto value_a =computeValue(); // 应该...

回答 4 投票 0

编译时评估的字符串文字列表

我正在寻找一种方法来将一些常量字符串信息注册到一个类中,并且该类保存了它们的列表,并且该列表在程序开始时可用,所以我想到了...

回答 1 投票 0

是否可以使编译时求值函数返回与同一函数的运行时求值不同的类型?

是否可以在编译时确定对函数(主要是 constexpr 函数)的调用是否是编译时评估的,而不仅仅是创建该函数的另一个版本(就像模板一样)

回答 1 投票 0

Constexpr / 编译时常量表达式错误

我的项目在编译时出现以下错误。尝试了一切但无法解决这个问题。 错误 错误:constexpr 变量“noOfTiles”必须由常量表达式初始化 静态

回答 1 投票 0

C++ 数据数组初始化

我需要初始化一个uint8_t数组, 其中大部分是常量(固定标识符),一些元素编码下一节的长度,一些元素是可变的。 uint8_t 数据[] = { 0x01、0x05、0x...

回答 1 投票 0

为什么 constexpr 不能保证在编译期间运行?

为什么 constexpr 不能保证在编译期间运行? 另外,为什么添加 consteval 而不是更改 constexpr 来保证编译时执行?

回答 2 投票 0

如何让 C++ ADL 查看模板的所有实例?

我正在关注如何在 C++ 中实现常量表达式计数器教程,并尝试修复没有宏、标记或外部工具的 C++14 反射谈话限制。 基本...

回答 1 投票 0

将函数参数声明为 constexpr

我能做什么最接近将 constexpr 作为函数输入参数传递? 模板 void A::foo(int i){ ... } 模板<> void A::foo(constexpr int i){ //...

回答 1 投票 0

尝试将 std::bit_cast 与位域结构一起使用。为什么不是 constexpr?

我试图在编译时从位域结构中获取位掩码。我尝试过的技巧之一(对我来说看起来很有希望)是使用 std::bit_cast,因为它应该是 constexpr。 我的...

回答 1 投票 0

编译时检测T是否是引用成员

我试图在编译时检测参数是否是引用成员。它没有抓住它,我不明白为什么。 #包括 构造一个{ a(): i1(42), i2(i1){} int i1;...

回答 1 投票 0

编译时检测 T 是否为引用

我试图在编译时检测引用。它没有抓住它,我不明白为什么。 #包括 构造一个{ a(): i1(42), i2(i1){} 整数 i1; int& i2; }; 模板...

回答 1 投票 0

从 if constexpr 块传递的地址总是保证在“上下文”之外有效吗?

给出以下代码: #包括 #包括 模板 无效栏(T * t_ptr = nullptr){ if constexpr(!std::is_same()){ std::cout ...

回答 1 投票 0

constexpr 带有函数地址的值

我试图将函数的地址以异或形式存储在内存中,类似于广泛用于仅接受字符串的字符串的 XorStr 函数。将其存放在半

回答 1 投票 0

为什么在这种情况下 constexpr 不能与 const 互换?

我看过一些之前与 constexpr 相关的帖子,尤其是这篇: constexpr 和 const 有什么区别? 根据阅读该主题,我的理解是缺点......

回答 1 投票 0

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