constexpr 相关问题

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

使constexpr在OSX上的C ++ 17中与pow一起使用

我正在尝试获得一个用C ++ 17编写的可在OSX(Mojave)上运行的基于Linux的项目。直到我进入此文件为止,大多数内容都可以正常编译:ClassName.hpp:class ClassName {public:...

回答 1 投票 1

“常量引用”实际上不应该称为“对常量的引用”吗?

我在使用constexpr引用时想到了这种感觉。但是问题本身与constexpr无关,只是被它揭示了。我们知道存在“指向const的指针”,并且...

回答 1 投票 0

是否可以在编译时通过constexpr函数分配数组值?

我对模板和编译时函数还很陌生,我目前正在尝试编写一个基本的实体组件系统(ECS),该系统将允许我在容器中存储泛型类型(组件)。 ...

回答 1 投票 0


来自不同翻译单元的约束函数会干扰吗?

我正在尝试深入研究内联函数并偶然发现此问题的含义。考虑这个小程序(演示):/ * ---------- main.cpp ---------- * / void other(); constexpr int get(...

回答 3 投票 0

使用constexpr初始化std.array中的对象

我有一个名为foos的数组,带有Foo实例。它们存储在std.array中,我想在编译时对其进行初始化。使用C ++ 17和constexpr可以做到吗? struct Foo {...

回答 1 投票 0

有没有一种方法可以声明将使用constexpr在源文件中定义的公共静态const(有什么区别?)>

在标头中,我声明了一个公共的静态const,并在源文件中将其定义为类成员。我想在源文件中定义它,因为我要从其中包含并使用一个常量,...

回答 1 投票 0

constexpr函数中的For循环无法使用MSVC 19.23进行编译

以下代码在Clang和GCC中编译,但在MSVC中失败。模板 struct S {静态constexpr bool checkIdUniqueness(){使用IdType = int; ...

回答 1 投票 1

对constexpr函数的澄清

请考虑以下代码段:#include 使用std :: cout;使用std :: endl; class A {public:// constexpr A(){i = 0;} constexpr A():i(0){} void ...

回答 1 投票 1

c ++ 11通过constexpr在编译时获取字符串长度

#include constexpr size_t constLength(const char * str){return(* str == 0)? 0:constLength(str + 1)+ 1; } int _tmain(int argc,_TCHAR * argv []){const char * p =“ ...

回答 2 投票 4

类中的静态constexpr初始化链

我有一个普通的类,我们称它为Handler,它执行一些在运行时按需调用的算法。该算法读取一个数组(m_ arr),其内容在编译时是已知的,因此我想...

回答 1 投票 1

非常量类中的constexpr初始化链

我有一个普通的类,我们称它为Handler,它执行一些在运行时按需调用的算法。该算法读取一个数组(m_ arr),其内容在编译时是已知的,因此我想...

回答 1 投票 1

我们应该在所有可以使用的地方使用constexpr吗?

显然,我们无法将所有内容都设为constexpr。而且,如果我们不做任何constexpr,那么不会有大问题。到目前为止,已经编写了很多没有它的代码。但这是个好主意吗...

回答 4 投票 25

如何让编译器警告这是无效的布尔值?

[我们只是被错字烧掉了:“ constexpr bool maxDistance = 10000;” gcc和clang都编译此文件而没有任何警告。真正的错误是该变量不应该是bool类型,而是...

回答 1 投票 0

自定义类型转换运算符在转发引用上调用时不起作用(当对象通过值传递时起作用)

我无法理解此错误的本质,因此,如果标题更好,请原谅。该代码无法编译:template struct value_as_type {using type = decltype(v); ...

回答 1 投票 5

使用模板时Constexpr功能不constexpr

下面的代码编译细:结构A {INT I; constexpr A():I(1){} constexpr A(const的A&在于):I(1){}}; constexpr自动FUNC(){性病:: array result = {}; ...

回答 1 投票 2

我为什么不能使用constexpr全局变量初始化constexpr引用类型?

#包括 使用命名空间std; constexpr INT R = 100; INT主(){constexpr INT&K = R; COUT <<ķ<< ENDL; }编译此代码提供了“错误:结合“常量...

回答 1 投票 4

Constexpr和模板:编译错误?

下面将按预期的:#include constexpr的std ::阵列 值= {1,2,3};模板 结构A {静态constexpr INT VAL =值[I]; }; INT的main(){...

回答 2 投票 0

A“constexpr”表达时间过长

下面的代码不会在Visual C ++编译,因为“表达没有评价为恒定”。 constexpr自动FUNC(){对于(无符号长长I = 1; I <10000000UL; ++ⅰ); ...

回答 1 投票 0

什么是标记集合函数(setter方法)为constexpr的目的是什么? [重复]

我无法理解标记setter函数作为constexpr的目的,也就是因为C ++ 14允许的。我的误解来自于未来的情况:我声明一个类有constexprç-...

回答 3 投票 11

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