常量表达式_常量的表示方法

常量表达式_常量的表示方法常量表达式——常量表达式指的是值不会改变,并且计算结果在编译过程就能得出的表达式。 C++11新增的constexpr就是为直接检测某一表达式是否是常量表达式而存在,使用constexpr声明的变量后,编译器会自动检测表达式。 字面值类型如算术类型、引用类型和指针类型都能定义成常量表达式。 这里需要

常量表达式_常量的表示方法

常量表达式——常量表达式指的是值不会改变,并且计算结果在编译过程就能得出的表达式。

  C++11新增的constexpr就是为直接检测某一表达式是否是常量表达式而存在,使用constexpr声明的变量后,编译器会自动检测表达式。

  字面值类型如算术类型、引用类型和指针类型都能定义成常量表达式。

  这里需要强调的是,虽然指针和引用都能够声明为常量表达式,但是他们受到了严格的限制。指针在定义为常量表达式时,其初值必须是0,nullptr或者是存储与固定地址中的对象。constexpr指针等价于常量指针,也就是说,它只限定了声明指针本身,与所指对象无关。例如:constexpr int* a = nullptr 等价于 int* const a = nullptr; ,可以理解的是既然表达式的值在编译过程中就能确定,那么他的初值赋值对象也必须是在编译过程中就确定的。具体来说,一般在函数体内部的变量其地址都是不固定的,而函数体外部则固定,所以函数外部的变量通常可以用来初始化constexpr指针,而内部变量则不行。

今天的文章常量表达式_常量的表示方法分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/46410.html

(0)
编程小号编程小号
上一篇 2023-09-05 21:11
下一篇 2023-09-05 21:30

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注