constexpr 相关问题

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

constexpr成员函数与C ++中的std :: vector数据成员

我试图在C ++类中实现一个constexpr成员函数,它返回一个模板参数。代码应该是c ++ 11兼容的。但是当我遇到编译问题时......

回答 1 投票 22

可以在constexpr中获得`__func__`的值吗?

我有一个用__func__调用构造函数的宏。是否可以将其转换为constexpr并仍然使用func的“本地”/“正确”版本? #define LOG_SCOPE_DURATION(category_arg)\ ...

回答 2 投票 1

在编译时,Clang不会为非constexpr变量计算constexpr函数的值

一些代码:constexpr int sum(int a,int b){return a + b; } int main(){int a = sum(4,5);返回0;我用clang-9编译这段代码,但它没有评估int a的值...

回答 2 投票 5

Constexpr初始化一组不可复制的对象?

我想有一个B类,它有另外一个A类的3个成员对象.A和B的构造函数都是constexpr。 A - 包含在B内 - 是不可复制和不可移动的。这段代码......

回答 1 投票 2

未定义的对静态constexpr char []的引用

我希望在我的类中有一个静态const char数组。海湾合作委员会抱怨并告诉我,我应该使用constexpr,虽然现在它告诉我这是一个未定义的参考。如果我让阵列成为非成员那么......

回答 6 投票 157

constexpr矢量push_back或如何constexpr所有的东西

Jason Turner和Ben Deane在2017年的C ++中有一个很好的对话,叫做constexpr所有的东西也提供了constexpr矢量实现。我自己也在考虑这个想法,因为......

回答 1 投票 1

在constexpr函数中断言

在试图解决为什么我遇到某个编译错误时,我想出了以下最小的例子:constexpr void Test(bool test){if(test)return;断言(假); } ...

回答 1 投票 2

为什么不能将静态constexpr成员变量传递给函数?

以下代码生成对'Test :: color'的未定义引用。 #包括 struct Color {int r,g,b; }; void printColor(Color color){// printing color} class Test {...

回答 2 投票 1

MSVC和constexpr的功能参数?

这段代码用clang和gcc编译得很好。模板 struct N {static constexpr size_t v = n; };模板 constexpr bool运算符,size_t n2){...

回答 3 投票 9

带有setter的Constexpr成员变量?

所以在我的C ++家庭作业中,指令说..为kUnboundLower和kUnboundUpper创建一个constexpr成员。 ...创建下限和上限设置器和getter。怎么样 ...

回答 2 投票 0

如何初始化std :: vector的静态constexpr成员 在c ++ 11中?

我正在尝试在我的类Foo中初始化std :: strings的静态constexpr std :: vector。我稍后会使用其元素的地址。 class Foo {public:static constexpr std :: vector

回答 1 投票 1

是否可以跨多个源文件构建constexpr数据结构?

我正在尝试构建一个用于放置标签的侵入式分析器。如果这些标签可以转换成在编译时直接索引到数据结构中的整数,那将是非常好的...

回答 1 投票 2

静态constexpr变量有意义吗?

如果我在函数内部有一个变量(比如一个大型数组),那么将它声明为static和constexpr是否有意义? constexpr保证在编译时创建数组,所以...

回答 1 投票 154

c ++计算编译时常量,同时防止积分常数溢出

我对元编程的语言特性有点新意,我试图用公共静态const变量创建一个简单的类,它将通过编译时常量设置它的值:我是...

回答 2 投票 0

为什么constexpr在编译时没有评估(MSVC 2015)?

最近我试图利用MSVC 2015下的C ++ 0x constexpr,我的目标是实现编译时哈希字符串。我写了一个简单的FNV-1a哈希算法作为constexpr函数使用,...

回答 1 投票 5

斐波那契和'if constexpr'

请考虑以下代码:模板 int Fibonacci(){if constexpr(nIndex == 0)返回0;如果constexpr(nIndex == 1)返回1; static_assert(nIndex> = 0,“无效...

回答 1 投票 2

将短字符串转换为32位整数的最有效方法是什么?

出于许多目的,打包成无符号32位整数的短字符串/字符数组非常有用,因为可以一次性比较它们与简单的整数比较并用于交换...

回答 2 投票 1

重载决议C风格的字符串

是否有可能解释为什么以下代码没有按预期工作?在这种情况下,我会假设static_asserts都会通过,尽管用Failed指示的那个似乎不...

回答 1 投票 1

如何让我的C ++编译器发出constexpr值(例如警告?)

(这是一个XY问题,但请耐心等待。)我收到关于移位量太大的编译警告。现在,为了诊断这个,我希望我的编译器以某种方式发出...

回答 3 投票 5

static constexpr模板成员在专门化时给出undefined-reference

以下代码给出了未定义的引用链接错误:模板 struct X {static constexpr int x = 0; }; template <> constexpr int X <1> :: x; int main(){...

回答 3 投票 4

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