笔记三:const 在变量、函数、指针中的使用
来源:互联网 发布:mac mysql dmg 安装 编辑:程序博客网 时间:2024/05/01 10:42
const限定符在变量、函数、指针中的使用
个人理解: 不管是在变量、函数、指针等中加入const限定符,一般都按照优先级高低+从右向左结合的方式去理解(ps:如理解有误,望指教~)
case 1:
const int butfsize = 512;
理解:
a):没有优先级,则变量名bufsize首先与int结合,表明是一个int型变量;
b):声明为int型的bufsize变量再与const结合,则表明它是一个常量;
c):两者结合起来,bufsize是一个int型常量,初始化为512;case 2:
const double *cptr;
理解:
a):cptr与*结合,表明它是一个指针;
b):*cptr与double结合,表明它是一个double型指针;
c):若没有const限定符,表明cptr指向double型变量,增加const限定符,则cptr指向范围缩小,限定在double型的const变量范围
d):上述3点表示cptr指针的指向对象是const型,但其本身非const指针;case 3:
int *const currErr = &errNum;
理解:
a)存在*,最终是要与变量名结合在一起,故此时在理解上可将等式类比成int const *currErr = &errNum;
(参考int* p
等价int *p
, 若理解有误,请指正)
b):仍然按照从右向左的结合方式,*currErr是一个指针;
c):const 与*currErr
结合,表明它是一个const型指针;
d):int限定指针的指向范围,表明const型指针指向一个int型的变量;
f):const型指针通俗来讲,表明“我看上你了errNum,就绝不会移情别恋再看上其他的变量“;case 4:
bool (*pf)(const string&)
理解:
a):按照优先级顺序,先考虑()内的;
b):对const string&
而言,形参首先是一个引用,然后是一个string类型的引用,最后将引用限定一个范围,属于const引用,表示在函数中只能读而不能对引用变量进行写操作;
c):(*pf)表明pf先是一个指针;
d): 故pf是一个指向函数的指针,且该函数是带有常string引用和bool返回值。case 5:
double avg_price() const;
理解:
a):根据规则,将const加在成员函数的形参之后,成员函数声明为常量,不能改变其操作对象的成员变量的值case 6:
const int fun();
理解:
a):也适用于从右向左结合方式,首先是一个函数,其次返回int型变量,然后const对返回值进行范围缩小的限定,只能是const型即常量。注:遇到其他形式再补充~
- 笔记三:const 在变量、函数、指针中的使用
- const在声明指针变量时的三种情况
- C++中的const在变量和函数中的含义
- 如何修改const类中的变量(或在const函数中修改变量)
- C++学习笔记(三)--函数参数,数组函数,指针和const,二维数组函数,递归,函数指针
- const变量、const指针、const参数、const对象、const成员函数
- C++指针在函数中的使用
- const在函数中的作用
- 使用指针递增存贮在其他变量中的值
- const函数,const变量
- 关键字const在指针中的运用
- const修饰指针 变量
- const和指针变量
- const在C中的使用
- const在C中的使用
- C语言结构体指针在函数调用中的使用
- cosnt、const函数、const变量
- C++中的const在多维指针中的应用
- 设计模式二三事——桥接模式
- android.textiview.settextcolor失效的问题
- 采用calyer画多边形
- C++静态成员
- 【SSH网上商城项目实战01】整合Struts2、Hibernate4.3和Spring4.2
- 笔记三:const 在变量、函数、指针中的使用
- Android Context简单总结
- Java虚拟机 运行时数据区
- 最小生成树Prim算法理解
- IntelliSense: 应输入声明的解决方案
- 我的Android进阶之旅------>解决Jackson等第三方转换Json的开发包在开启混淆后转换的实体类数据都是null的bug
- map映照容器
- 用PHP写自定义的简单WEB服务器
- Android Intent意图详解