本文共 844 字,大约阅读时间需要 2 分钟。
指针的类型必须与其所指对象类型一致允许指向常量的指针指向一个非常量对象获取的,改变值的;指向常量的指针没规定其所指的对象必须是一个常量所谓指向常量的指针仅仅要求不能通过该指针改变对象值,而没有规定那个对象的值不能通过其他突进 改变所谓指向常量的指针或引用,指向常量,自觉的不去改变所指对象的值;const指针指针是对象而引用不是,指针本身可以定为常量常量指针必须初始化const pointer常量 指针一旦初始化,它的值-存放在常量指针中的值-地址就不能再改变把*放在const关键字之前用以说明指针是常量不变的是指针本身的值而非指向的那个值
int errNumb = 0;int *const curErr = &errNumb; //curErr将一直指向errNumbconst double pi = 3.14;const double *const pip = π pip是一个指向常量对象的常量指针弄清楚声明含义最行之有效的办法--从右往左读指针本身是一个常量并不意味不能通过指针修改其所指向的值,不能改变的是此指针不能再指向别的对象pip是一个指向常量的常量指针则不论所指的对象值还是pip自己存储的地址值都不能改变指针本身是不是常量以及指针所指的是不是常量就是两个相互独立的问题指针本身是一个对象,它又可以指向另外一个对象指针本身是不是常量以及指针所指的是不是一个常量就是两个相互独立的问题顶层const(top-level const)表示指针本身是一个常量底层const(low-level const)表示底层const与指针和引用int i = 0;int *const p1 = &i; //指针本身常量,指针不能再指向别的对象const int ci = 42; 一个对象是不是常量表达式由它的数据类型和初始值共同决定将变量申明为constexpr由编译器验证变量的值声明为constexpr变量一定是常量尽管不能使用普通函数
转载地址:http://izldx.baihongyu.com/