Cpp Primer - constexpr
1. 利用普通函数初始化const, 不为字面值
const int sz = get_size(); // sz is not a constant expression
constexpr int sz2 = get_size2(); // only if get_size2 is a constexpr function
2. constexpr 为top-level const
参考cpmstexpr讲解
:http://www.xuebuyuan.com/2102307.html
int i = 0;
const int j = 1;
int main()
{
constexpr int *p = &i; //ok
constexpr int *p2 = &j; //error: const int* can't be used to initialize int *const
//which means constexpr int *p2 means p2 is a const pointer
//(a top-level const)
}