c++中const的作用
来源:互联网 发布:社交软件的英文单词 编辑:程序博客网 时间:2024/06/07 00:57
采用符号常量写出的代码更容易维护;指针常常是边读边移动,而不是边写边移动;许多函数参数是只读不写的。const最常见用途是作为数组的界和switch分情况标号(也可以用枚举符代替)
用法1:常量
取代了C中的宏定义,声明时必须进行初始化。const限制了常量的使用方式,并没有描述常量应该如何分配。如果编译器知道了某const的所有使用,它甚至可以不为该const分配空间。最简单的常见情况就是常量的值在编译时已知,而且不需要分配存储。―《C++ Program Language》用const声明的变量虽然增加了分配空间,但是可以保证类型安全。
C标准中,const定义的常量是全局的,C++中视声明位置而定。
用法2:指针和常量
使用指针时涉及到两个对象:该指针本身和被它所指的对象。将一个指针的声明用const“预先固定”将使那个对象而不是使这个指针成为常量。要将指针本身而不是被指对象声明为常量,必须使用声明运算符*const。所以出现在 * 之前的const是作为基础类型的一部分:
char *const cp; //到char的const指针
char const *pc1; //到const char的指针
const char *pc2; //到const char的指针(后两个声明是等同的)
从右向左读的记忆方式:
cp is a const pointer to char.
pc2 is a pointer to const char.
用法3:const修饰函数传入参数
将函数传入参数声明为const,以指明使用这种参数仅仅是为了效率的原因,而不是想让调用函数能够修改对象的值。同理,将指针参数声明为const,函数将不修改由这个参数所指的对象。通常修饰指针参数和引用参数:
void Fun( const A *in); //修饰指针型传入参数
void Fun(const A &in); //修饰引用型传入参数
用法4:修饰函数返回值
可以阻止用户修改返回值。返回值也要相应的付给一个常量或常指针。用法5:const修饰成员函数
const对象只能访问const成员函数,而非const对象可以访问任意的成员函数,包括const成员函数;
const对象的成员是不能修改的,而通过指针维护的对象确实可以修改的;
const成员函数不可以修改对象的数据,不管对象是否具有const性质。编译时以是否修改成员数据为依据进行检查。
- C和C++中const的作用?
- C语言中const的作用
- [C/C++]const的作用
- C语言中Static和Const关键字的的作用
- C语言中Static和Const关键字的的作用
- C语言中Static和Const关键字的的作用
- C语言中Static和Const关键字的的作用
- C语言中Static和Const关键字的的作用
- C语言中Static和Const关键字的的作用
- c/c++ const的作用
- C 关键字const的作用
- C/C++ 中const 的具体作用和用法
- C 语言中Const限定符的作用!
- C/C++中static和const关键字的作用总结
- C/C++中Static和Const的作用
- 嵌入式中C语言volatile和const的作用
- c++中const的作用- -
- C++中const的作用
- 阻止媒体库自动搜索文件夹的图片和视频内容
- TAO 中间件
- 影响项目进度的几大因素
- 开学心得
- C#设计模式之6——原型模式
- c++中const的作用
- CSS核心内容
- TAO 中间件2
- 验证用户名的格式
- 链表的创建和遍历算法
- java日期获取前一天和后一天
- 对纹理个参数的分析
- 网络防火墙开发二三事
- Netcat使用方法