【发布时间】:2015-07-12 09:17:48
【问题描述】:
我尝试运行一个基于constexpr的程序。
代码:-
#include <iostream>
using namespace std;
int main()
{
const int i = 10;
constexpr int j = 10;
constexpr int val1 = i;
constexpr int val2 = j;
return 0;
}
在我遵循的书中,提到如果将 const 分配给 constexpr 变量,则会出错。
但是我的程序编译没有任何抱怨。
我错过了什么吗?
【问题讨论】:
-
表达式
constexpr int val1 = i;将i的值赋给val1 -
您没有分配给
constexpr变量,而是在初始化它们。您可以写成与constexpr int val1{ i };相同的内容——使用该符号,您会立即看到不涉及任何分配。
标签: c++ c++11 language-lawyer constexpr