首页 > 代码库 > constexpr与指针
constexpr与指针
一、
常量表达式:是指值不会改变并且在编译过程就能得到的计算结果的表达式。
定义常量表达式变量:
constexpr 变量类型 变量名;
例如:
constexpr int mf=20;/////20是常量表达式
constexpr int limit=mf+1;/////mf+1是常量表达式
constexpr int sz=size();//////错误:size()只有到运行时才能获取到
二、
指针和引用都能定义为constexpr,但是他们的初始值却受到严格限制。一个constexpr指针的初始值必须是nullptr或者0,或者是存储于某个固定地址中的对象。
const int *p=nullptr;////p是一个指向整型常量的指针
constexpr int *q=nullptr;/////q是一个整数的常量指针
注意:p和q相差甚远,p是一个指向常量的指针,q是一个常量指针,其中关键在于constexpr把它所定义的对象置为了顶层const。
补充:顶层const指定义了一个常量指针,底层const指定义了一个指向常量的指针。
constexpr与指针
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。