constexpr

    3热度

    5回答

    是否可以在一个点声明一个常量数组(可能是constexpr),然后在另一个地方定义它,每次只定义一个元素? E.g. extern constexpr int myArray[100]; myArray[0] = myConstexprFunction(0); myArray[1] = myConstexprFunction(1); // ... myArray[100] = myCo

    0热度

    2回答

    我想要写代表的这些产物(在数学意义上)一个函数,它接受的形式float(float, float)的功能的任意数量的,并产生一个可调用对象(例如,lambda表达式)功能。 我们能做到这一点,例如,以下列方式: template<typename... BinaryFunctions> auto product_of(BinaryFunctions... fs) { return [=

    0热度

    1回答

    我想用结构名称的散列来初始化结构成员。 constexpr uint32_t myHash(const char* const data) { //Some code for hash return myHash; } struct My_Struct{ constexpr Test() : ID(myHash("My_Struct")) { }

    7热度

    1回答

    我想要一个static constexpr数组类元素的模板类内类似于以下代码的静态constexpr模板阵列构件这个例子,但它已经显示了这个问题。如果我编译这个机智gcc我得到一个递归依赖性的错误: test.cc: In instantiation of ‘constexpr Element Template<true>::element [2]’: test.cc:11:27: recurs

    0热度

    1回答

    我正在使用constexpr来声明std :: array的大小。 constexprt auto sizearr = 99; 根据对sizearr我想找到用来遍历数组 char offset; //Class member 指数的类型时sizearr改为 constexprt auto sizearr = 65000; 编译时类型推导我想偏移自动申报作为int类型而不是手动更改为in

    1热度

    1回答

    我目前正在进入更多的C++ 11的东西,跳跃constexpr。在我的一本书有人说,你应该以这种方式使用它的常数π一样,例如: #include <cmath> // (...) constexpr double PI = atan(1) * 4; 现在我想把那个在自己的命名空间,例如。 MathC: // config.h #include <cmath> namespace

    0热度

    1回答

    我可以在C++头文件中定义以下函数,然后将其包含在不同的.cc文件中。 我不知道编译器是否总是诉诸同一个str地址,或者它可能不同,或者它是未定义的行为? inline constexpr const char *GetCompilerOptions() { return "" #ifdef __AVX__ "AVX," #endif // __AVX__

    3热度

    1回答

    #include <iostream> using namespace std; template<const int arr[]> struct S { static constexpr int value = arr[0]; }; constexpr int arr[] = { 5 }; int main() { cout << S<arr>::valu

    8热度

    1回答

    我看到在Quora的C++中声明了一个参考变量作为常量。 static constexpr const int& r = 3; 那么,为什么这两个constexpr和const在单个语句中使用? 这种类型的声明的目的是什么?

    4热度

    1回答

    允许声明一个非const引用为constexpr?示例代码: int x = 1; constexpr int& r = x; 这是通过gcc和铛接受(我试图两者的几个当前和过去的版本,回到C++ 11,和所有接受了它)。然而,我认为它不应该被接受,因为C++ 14 [dcl.constexpr/9]表示:如果constexpr说明符以引用声明使用 ,则出现在其初始值设定每全 表达应是一个常