我有这个代码,但是它没有用,我正在使用vs2010
NULL
有什么想法吗?
答案 0 :(得分:3)
关键字 constexpr 是在C ++ 11中引入的,并在C ++ 14中进行了改进。这意味着不断表达。与 const 一样,它可以应用于变量,以便在任何代码尝试修改值时引发编译器错误。与const
不同,constexpr
也可以应用于函数和类构造函数。 constexpr
表示值或返回值是常量,如果可能,将在编译时计算。在需要constexpr
整数的任何地方都可以使用const
整数值,例如在模板参数和数组声明中。当一个值可以在编译时而不是运行时计算,它可以帮助您的程序更快地运行并使用更少的内存。检查this
constexpr
支持vs2010
,但vs2015
支持vs
,请this查看{{1}支持的内容实际上vs2010
并不完全支持C++11
,所以你可以在这里更新你的编译器。
所以你可以使用vs2015,或者你可能不会在这里使用constexpr
,你可以查看link以查看const
和constexpr
之间的区别,因此,如果可能,您可以使用const
代替constexpr
。
它们之间的主要区别在于前一个链接:
const 适用于变量,并阻止在代码中修改它们。
constexpr 告诉编译器该表达式产生编译时常量值,因此可以在数组长度,分配给const变量等场合使用。