833得票10回答
constexpr和const有什么区别?

constexpr 和 const 有什么区别? 我什么时候可以只使用其中一个? 我什么时候可以同时使用它们,如何选择?

464得票6回答
变量中的const和constexpr有什么区别?

以下定义有差别吗?const double PI = 3.141592653589793; constexpr double PI = 3.141592653589793; 如果没有的话,在C++11中哪种风格更受欢迎?

392得票15回答
我应该声明一个常量而不是编写一个constexpr函数吗?

我觉得拥有一个“总是返回5的函数”会破坏或淡化“调用函数”的意义。C++11中肯定有某种原因或需求才会加入这个功能。为什么会有这个功能呢? // preprocessor. #define MEANING_OF_LIFE 42 // constants: const int Meaning...

297得票5回答
在常量表达式中是否可以使用std::string?

使用C++11,Ubuntu 14.04,GCC默认工具链。 这段代码失败了: constexpr std::string constString = "constString"; 错误:constexpr变量'constString'的类型'const string {aka con...

284得票3回答
函数内的静态constexpr变量有意义吗?

如果我有一个函数内的变量(比如一个大数组),是否有意义同时声明它为static和constexpr?constexpr保证数组在编译时创建,那么static就无用了吗? void f() { static constexpr int x [] = { // a few...

236得票6回答
静态 constexpr 字符串的引用未定义

我想在我的类中拥有一个static constchar数组。 GCC提示我应该使用constexpr,但现在它告诉我这是未定义的参考。如果我将数组设置为非成员,则可以编译。发生了什么?// .hpp struct foo { void bar(); static constexpr c...

149得票2回答
constexpr是否意味着内联?

考虑以下内联函数:// Inline specifier version #include<iostream> #include<cstdlib> inline int f(const int x); inline int f(const int x) { ...

139得票3回答
Constexpr与宏的区别

我应该在哪里使用宏,在哪里使用constexpr?它们不是基本上一样吗?#define MAX_HEIGHT 720 对抗constexpr unsigned int max_height = 720;

103得票8回答
在编译时计算C字符串的长度。这真的是一个constexpr吗?

我正在尝试在编译时计算字符串字面量的长度。为此,我正在使用以下代码:#include <cstdio> int constexpr length(const char* str) { return *str ? 1 + length(str + 1) : 0; } in...

102得票2回答
"if constexpr()" 和 "if()" 的区别

if constexpr()和if()之间有什么区别? 我可以在哪里和什么时候使用它们?