C++中const用法总结
2015-09-10 17:06
393 查看
1.const的基本用法
1.1定义规则
1)必须初始化
1.2几种区别
1)const int * 和const int 的区别
const int * p;表示指向常量对象,即p存放的是常量地址值,实际上也可以存放变量的地址值,但不能通过*p来改变它所指向的对象,这就是常量指针的含义,即指向的对象视为常量;
2)int const *p 与const int *p
二者是一样的含义,没有任何区别,如同int const a; 和const int a;是等价的一样
都表示:const是修饰*p,即修饰的指针所指向的对象;
3)int * const p
它所表达含义:修饰p,即指针是常量,必须初始化它,即int a=3;
int * const p=&a;
此后不能改变指针p的指向,即p的值是常量,不过可以通过*p来改变指向对象的值,如:*p = 3;
1.1定义规则
1)必须初始化
const int a=3;2)不能将其地址值赋值给一个同类型的指针变量
const int a=3; int *p=&a;//这是错误的
1.2几种区别
1)const int * 和const int 的区别
const int * p;表示指向常量对象,即p存放的是常量地址值,实际上也可以存放变量的地址值,但不能通过*p来改变它所指向的对象,这就是常量指针的含义,即指向的对象视为常量;
int a=4; const int b=3; const int *p1=&b; const int *p2=&a;//可以将变量视为常量 *p2=5;//错误,不能改变常量指针指向的对象的值
2)int const *p 与const int *p
二者是一样的含义,没有任何区别,如同int const a; 和const int a;是等价的一样
都表示:const是修饰*p,即修饰的指针所指向的对象;
3)int * const p
它所表达含义:修饰p,即指针是常量,必须初始化它,即int a=3;
int * const p=&a;
此后不能改变指针p的指向,即p的值是常量,不过可以通过*p来改变指向对象的值,如:*p = 3;
相关文章推荐
- 动态数组new、allocate
- Connector/c++ 查询Mysql,出现 can't fetch because not on result set 错误
- C++函数的嵌套调用和递归调用学习教程
- C++用法的学习心得
- ☆C++学习心得
- c语言二目运算符. ->
- C++Primer第五版 第1章 开始(练习解答)
- C/C++ 笔试、面试题目大汇总(转)
- C++Primer 第五版 1.1节练习
- C++静态库与动态库(转)
- c++结构体字节对齐
- C/C++创建二维数组/指针数组
- C++ explicit
- C++成员变量的初始化顺序如果不使用初始化列表初始化,在构造函数内初始化时,此时与成员变量在构造函数中的位置有关。
- 【more effective c++读书笔记】【第5章】技术(7)——让函数根据一个以上的对象类型来决定如何虚化(2)
- 【more effective c++读书笔记】【第5章】技术(7)——让函数根据一个以上的对象类型来决定如何虚化(2)
- 命名空间
- HDU 5011(博弈)
- C++的学习心得
- c++使用c代码