c++ const 关键字
2016-03-05 16:01
204 查看
(1) const 修饰一个常量,表示不可修改
比如修饰指针和引用
修饰指针时const 靠近类型还是*决定不可变的是指针这个变量本身还是指针所指向的变量
比如
int b=100;
const int *a=&b; //指针本身不可变,也即是不能实现a++,a--这种类似修改指针的行为
int const *a=&b;//这里则是a指向的内容不能变,即(*a)之类的修改所指向变量的行为出错
const int &it=b;
it++;//出错,常引用不可更改变量的值
(2) 函数安全性,修饰函数参数
对于输入参数为指针或引用的情况,如果不希望修改输入参数的值,但对于对象,为了高效传递,通常传递引用或指针,因此程序中可能会修改这些值,为了防止这种情况,通常加const修饰
(3)修饰函数返回值
当函数返回引用或指针的时候,防止修改返回值
(4)修饰类成员函数
如果不希望成员函数修改 类成员的值,可以使用const修饰
如果在编写const成员函数时,不慎修改了数据成员,或者调用了其它非const成员函数,编译器将指出错误,这无疑会提高程序的健壮性
比如修饰指针和引用
修饰指针时const 靠近类型还是*决定不可变的是指针这个变量本身还是指针所指向的变量
比如
int b=100;
const int *a=&b; //指针本身不可变,也即是不能实现a++,a--这种类似修改指针的行为
int const *a=&b;//这里则是a指向的内容不能变,即(*a)之类的修改所指向变量的行为出错
const int &it=b;
it++;//出错,常引用不可更改变量的值
(2) 函数安全性,修饰函数参数
对于输入参数为指针或引用的情况,如果不希望修改输入参数的值,但对于对象,为了高效传递,通常传递引用或指针,因此程序中可能会修改这些值,为了防止这种情况,通常加const修饰
(3)修饰函数返回值
当函数返回引用或指针的时候,防止修改返回值
(4)修饰类成员函数
如果不希望成员函数修改 类成员的值,可以使用const修饰
如果在编写const成员函数时,不慎修改了数据成员,或者调用了其它非const成员函数,编译器将指出错误,这无疑会提高程序的健壮性
相关文章推荐
- c语言:输入10个数,输出值最大的元素和该数是第几个数。(数组元素作函数实参)
- 2016年的C++常见的面试问题详解~搬至牛客网~strcpy
- C++二分查找法
- 数组写入Txt 与读Txt到数组 C++
- switch语句解析
- C++设计模式之适配器模式
- 复杂链表的复制
- VS2010 VS2012版最常用的快捷键
- 双向链表操作(逆置三种实现以及 冒泡排序 )
- C++异常基础
- c++引用计数实现
- 《编写高质量代码:改善C++程序的150个建议》读书笔记5(关于异常处理的部分)
- 学习C++反汇编-单继承
- 【学习C++】1.开始学习C++
- 1026. Table Tennis (30)
- 【C++学习之路】派生类的构造函数(三)
- 《Effective C++》Rule42: 了解 typename 的双重意义
- C++中的析构函数为什么通常为虚函数
- C语言获取系统当前时间转化成时间字符串
- C++项目文件中的后缀名为SDF的文件是什么?有什么用?