constexpr 相关问题

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

C ++ 14的静态constexpr自动带ODR使用

我有以下的C ++代码14:模板 结构测试{静态constexpr自动东西{T :: foo的()}; };这是完全没有,条件是T :: foo()从一个constexpr为好。现在...

回答 1 投票 4

如何测试constexpr是否正确评估

我已经使用constexpr在编译时计算哈希码。代码正确编译,运行正确。但是我不知道,哈希值是编译时还是运行时。如果我在运行时跟踪代码,则... ...>

回答 6 投票 8

如何使用在C ++ constexpr函数参数static_assert?

我在我的库,进行一些简单的计算几个简短constexpr功能。我在运行时使用这两个和编译时的上下文。我想在执行一些断言...

回答 3 投票 11

constexpr结构成员初始化

此代码编译:struct Info {constexpr Info(bool val):count(false),value(unsigned(val)){} constexpr Info(unsigned val):count(true),value(val){} bool count; ...

回答 1 投票 5

是否所有比较运算符都是constexpr,用于潜在的constexpr对象

考虑以下带有单个数据成员和operator == struct S {int a; / * constexpr * / bool operator ==(const S&other)const {return this-> a == other.a; ...

回答 3 投票 6

C ++指针可以指向字符串文字的静态成员数组吗?

一切都在Visual Studio 2017中工作,但我在GCC(6.5.0)中遇到链接器错误。以下是一些隔离我的问题的示例代码:#include struct Foo {static constexpr const ...

回答 3 投票 3

如何在编译时使用std :: make_tuple?

返回std :: array的Constexpr函数 由于使用了std :: make_tuple,size_t>在编译时不起作用。有没有办法克服......

回答 1 投票 1

constexpr成员函数不使用此功能?

请考虑以下两个C ++ 14程序:程序1:struct S {constexpr int f()const {return 42; }; s; int main(){constexpr int x = s.f();返回x; }程序2:struct S {...

回答 3 投票 9

c ++ 14模板专业化“已使用但未定义”

要为编译时递归定义模板,我将定义2个模板,一个普通模板,另一个用于“初始”案例,如下所示:template struct Int {}; constexpr ...

回答 1 投票 2

constexpr仿函数中的成员导致运行时执行

我正在使用仿函数以下列方式生成编译时计算代码(我为长代码道歉,但这是我发现重现行为的唯一方法):#include ...

回答 2 投票 4

调用constexpr函数的给定重载时触发编译时错误

我正在编写自定义变量模板,在编译时映射中执行查找。问题是,我想在每次在该映射中找不到值时触发编译时错误 - 最好是......

回答 1 投票 1

用于constexpr深度和IEEE 754指数计算的NVIDIA nvcc编译标志

请考虑以下代码,将双浮点数的指数计算为常量表达式(采用IEEE 754标准指定的格式)。模板 ...

回答 1 投票 0

为什么std :: is_literal_type ==假,我怎么能绕过它呢?

我目前正在尝试使用constexpr来定义一些输入标识:struct RangeParams {string legacyId; string fullname;字符串短名称; float min = -1;浮......

回答 1 投票 0

在这种情况下,为什么不是constexpr?

我有一个愚蠢的constexpr版本的strlen,并且编译器在某些情况下接受它作为constexpr,但在其他情况下它没有,这是一个例子:模板 class FixedString ...

回答 1 投票 2

Constexpr朋友在MSVC中运行

我正在尝试在模板中定义constexpr friend运算符。尝试在非constexpr上下文中实例化此运算符时出现编译器错误。如果我将同一个运算符定义为模板...

回答 2 投票 3

用其他东西替换宏中的goto

我试图删除Mach7中的goto语句,因为在constexpr函数中不允许使用goto:#define MatchQ(s){\ ...

回答 1 投票 4

在编译时对算术`value_type`的`std :: array`进行零初始化会导致缺少构造函数注释

要在编译时初始化算术类型AT的std ::数组,我这样做了:#include #包括 模板 constexpr无效......

回答 1 投票 2

为什么我更喜欢类中的静态constexpr int而不是枚举类级别的积分常量?

C ++ 17更新:静态constexpr变量是隐式内联的,因此不需要外部定义。原始问题:假设我有一个常量列表,例如struct Cls {static ...

回答 3 投票 10

如果constexpr编译时崩溃错误的分支

我有一个序列化函数,类似于:class Serializer {template T read(const std :: string&source){if constexpr(std :: is_same

回答 2 投票 2

当作为部分而不是作为单个函数完成时,常量表达式起作用

该代码适用于a,b,A,W,但是对于J.失败了。完全相同的代码只是分开了。是什么赋予了?我试图将“make”作为一个常量表达式。代码并不复杂......

回答 2 投票 -1

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