ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

C++11新增常量表达式——constexpr关键字

C++11新增常量表达式——constexpr关键字 文章目录c11新特性——constexpr常量表达式1 修饰变量2 修饰函数c11新特性——constexpr常量表达式c11 引入constexpr关键字用于修饰变量和函数。constexpr会强制编译期进行求值在编译期间计算出结果。1 修饰变量被constexpr修饰的变量在编译期进行计算得到结果在运行时不允许修改constexpr int n 100; // 编译期常量初始化后 n 可以当作数字 100 使用 switch(x) { case n: // n 当作整型使用 break; }2 修饰函数被constexpr所修饰的函数如果不能在编译期计算得到常量结果则该函数会退化作为普通函数进行处理constexpr int func(int i) { return i 1; } func(2); // 编译期间就能够被计算出来作为常量表达式 int a[func(2)]; // 可以直接当作常量使用 int i 2; func(i);// 传入变量无法在编译期计算结果退化为普通函数
返回列表