constexpr是C ++ 11中引入的修饰符,它通知编译器函数或变量的值是已知的,或者可以在编译时计算。因此,它可以在不可能的地方用作常数。
使constexpr在OSX上的C ++ 17中与pow一起使用
我正在尝试获得一个用C ++ 17编写的可在OSX(Mojave)上运行的基于Linux的项目。直到我进入此文件为止,大多数内容都可以正常编译:ClassName.hpp:class ClassName {public:...
我在使用constexpr引用时想到了这种感觉。但是问题本身与constexpr无关,只是被它揭示了。我们知道存在“指向const的指针”,并且...
我对模板和编译时函数还很陌生,我目前正在尝试编写一个基本的实体组件系统(ECS),该系统将允许我在容器中存储泛型类型(组件)。 ...
我正在尝试深入研究内联函数并偶然发现此问题的含义。考虑这个小程序(演示):/ * ---------- main.cpp ---------- * / void other(); constexpr int get(...
我有一个名为foos的数组,带有Foo实例。它们存储在std.array中,我想在编译时对其进行初始化。使用C ++ 17和constexpr可以做到吗? struct Foo {...
有没有一种方法可以声明将使用constexpr在源文件中定义的公共静态const(有什么区别?)>
在标头中,我声明了一个公共的静态const,并在源文件中将其定义为类成员。我想在源文件中定义它,因为我要从其中包含并使用一个常量,...
constexpr函数中的For循环无法使用MSVC 19.23进行编译
以下代码在Clang和GCC中编译,但在MSVC中失败。模板 struct S {静态constexpr bool checkIdUniqueness(){使用IdType = int; ...
请考虑以下代码段:#include 使用std :: cout;使用std :: endl; class A {public:// constexpr A(){i = 0;} constexpr A():i(0){} void ...
#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 =“ ...
我有一个普通的类,我们称它为Handler,它执行一些在运行时按需调用的算法。该算法读取一个数组(m_ arr),其内容在编译时是已知的,因此我想...
我有一个普通的类,我们称它为Handler,它执行一些在运行时按需调用的算法。该算法读取一个数组(m_ arr),其内容在编译时是已知的,因此我想...
显然,我们无法将所有内容都设为constexpr。而且,如果我们不做任何constexpr,那么不会有大问题。到目前为止,已经编写了很多没有它的代码。但这是个好主意吗...
[我们只是被错字烧掉了:“ constexpr bool maxDistance = 10000;” gcc和clang都编译此文件而没有任何警告。真正的错误是该变量不应该是bool类型,而是...
自定义类型转换运算符在转发引用上调用时不起作用(当对象通过值传递时起作用)
我无法理解此错误的本质,因此,如果标题更好,请原谅。该代码无法编译:template struct value_as_type {using type = decltype(v); ...
下面的代码编译细:结构A {INT I; constexpr A():I(1){} constexpr A(const的A&在于):I(1){}}; constexpr自动FUNC(){性病:: array result = {}; ...
我为什么不能使用constexpr全局变量初始化constexpr引用类型?
#包括 使用命名空间std; constexpr INT R = 100; INT主(){constexpr INT&K = R; COUT <<ķ<< ENDL; }编译此代码提供了“错误:结合“常量...
下面将按预期的:#include constexpr的std ::阵列 值= {1,2,3};模板 结构A {静态constexpr INT VAL =值[I]; }; INT的main(){...
下面的代码不会在Visual C ++编译,因为“表达没有评价为恒定”。 constexpr自动FUNC(){对于(无符号长长I = 1; I <10000000UL; ++ⅰ); ...
什么是标记集合函数(setter方法)为constexpr的目的是什么? [重复]
我无法理解标记setter函数作为constexpr的目的,也就是因为C ++ 14允许的。我的误解来自于未来的情况:我声明一个类有constexprç-...