constexpr 相关问题

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

为什么 std::array 的运算符 ==() 没有标记为 constexpr?

在编译时想要比较 std::array 是很自然的;并且它的运算符 ==() 显然是 constexpr'able 的。然而 - 它没有被标记为 constexpr。这是有意为之还是疏忽?还有-什么...

回答 3 投票 0

对 constexpr 数组的每个元素进行 C++ constexpr 操作

是否可以迭代 constexpr C 数组/std::array/向量并对每个元素执行 constexpr 操作以及编译时要完成的所有操作? https://godbolt.org/z/5a4v3Eerh #

回答 1 投票 0

循环 2 个 constexpr 数组对来实例化并运行模板函数

项目的C++版本是20。 假设我们有一些服务类模板: 模板 类 SomeAbstractFileService { 民众: 无效初始化(){ std::cout << ...

回答 1 投票 0

为什么 constexpr 会阻止此语句中的自动类型推导?

在下面如果我使用 constexpr 编译器显然编译器说“表达式必须有一个常量值”,这发生在 MSVC 和 GCC 上: int main() { constexpr auto nnn = ...

回答 1 投票 0

如何以 constexpr 方式将整数转换为 CUDA 的 __half FP16 类型?

我是空中客车的开发人员,我面临着半精度算术的困难。 在库中的某个时刻,我需要在 constexpr 中将 IntType 转换为相关的 FloatType(相同的位数)

回答 2 投票 0

int16_t 到 __half constexpr 转换

我是空中客车的开发人员,我面临着半精度算术的困难。 在库中的某个时刻,我需要在 constexpr 中将 IntType 转换为相关的 FloatType(相同的位数)

回答 1 投票 0

C++23 中的不同翻译单元中是否允许多个相同的非内联 constexpr 变量定义?

C++23 规定 constexpr 函数和静态数据成员是隐式内联的,但对于命名空间范围的 constexpr 变量却没有这样规定。 它还说:“对于任何可定义的......

回答 1 投票 0

设置可打印消息的编译时间前缀

我想创建一个打印到命令行的函数,其前缀在运行时永远不会改变,所以我想在编译时设置它。像这样的东西: print_sp(常量字符...

回答 1 投票 0

创建一个编译时计算的查找表,使用数学函数来计算元素

我正在尝试在 C++ 中创建一个 LUT,该 LUT 在编译时计算并简单地放置在内存中以供其他模块使用。这个 LUT 中的每一项都可以在编译时计算,它只是一个......

回答 1 投票 0

C++:创建使用数学函数计算元素的编译时计算查找表

我正在尝试在 C++ 中创建一个 LUT,该 LUT 在编译时计算并简单地放置在内存中以供其他模块使用。这个 LUT 中的每一项都可以在编译时计算,它只是一个......

回答 1 投票 0

为什么 std::array 作为模板函数/泛型 lambda 的输入时不是常量表达式?

(与我的另一个问题有关;如果您也看一下,我将非常感激。) 如果 std::array::size 是 constexpr,那么为什么下面的代码甚至无法编译...

回答 2 投票 0

VS2022(版本 17.11.0)C++ constexpr 错误?

使用 constexpr 我遇到了一个奇怪的情况,我将其简化为一个简单的 C++ 示例,该示例在 VS2019 和 GCC 上运行良好(在 godbolt.org 上测试),但在最新的 VS2022(版本 17.11.0)上失败 康斯特...

回答 1 投票 0

你不能通过创建一个返回 std::array 的 constexpr 函数来创建一个 constexpr 数组吗?

我想在编译时构造一个数组值,并且在网上看到多个来源建议使用带有 constexpr 构造函数的结构: 模板 结构体A { constexpr A() ...

回答 1 投票 0

static_cast<uint32_t> 对于非 const/constexpr 浮点返回 0,保持 2^32 -1 (UINT32_MAX),但当浮点为 const/constexpr 时返回 UINT32_MAX

我在尝试将一段代码放入模板函数中时遇到了问题。该代码基本上执行钳位。下面是代码的可重现版本。 #包括 ...

回答 2 投票 0

使用 C++17 的 Constexpr 查找数组

我正在尝试编写一个 constexpr 查找函数,它将返回包含特定值的 std::array 的索引。下面的函数似乎工作正常,除非包含的类型是 const cha...

回答 2 投票 0

静态 constexpr 数据成员的未定义引用错误

我很困惑这里出了什么问题。 我收到一个数组的未定义引用错误,我的定义方式与其他两个数组相同,它们不会在代码中的其他地方引发错误。 下...

回答 2 投票 0

显式 constexpr 默认比较

在 GCC 13.3 中进行回归后,我必须将 constexpr 添加到程序中的默认飞船运算符中,并观察到编译器在 C++20 模式下处理某些代码的方式存在一些差异。这些可以是...

回答 1 投票 0

`constexpr向量`仍然失败,虽然cppreference中声明支持[重复]

在 https://en.cppreference.com/w/cpp/compiler_support 上,声明支持 constexpr 向量。 但是当我写的时候 #包括 constexpr std::vector vec{2, 3, 3, 3}; int 我...

回答 1 投票 0

C++1y/C++14:常量表达式中不允许在其生命周期之外对对象进行赋值?

根据当前草案,以下 C++14/C++1y 程序是否格式错误? #包括 模板 结构体字面量数组 { T数据[n]; }; 模板<

回答 1 投票 0

对象的状态在其构造之后和成员函数调用之前发生变化

下面的程序已尽可能减少以显示 Visual Studio C++ 编译器遇到的问题。 f 是一些接受输入谓词对象 P p 的算法函数,它具有用户德...

回答 1 投票 0

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.