7.1.2 C++关键字 const
来源:互联网 发布:三毛 知乎 编辑:程序博客网 时间:2024/06/04 17:57
const作用:
1)定义 const常量:const int MAX =100;
2)方便参数调整和修改。
3)保护被修饰的东西。
4)为函数重载提供参考。
5)节省空间,避免不必要的内存分配。const定义的常量在运行时只有一份复制品,#define则有若干个。
6)提高程序的效率,在不需要取地址的时候,即普通的const常量,不分配内存,存入符号表,成为编译期间的常量。
例如:
#include <iostream>
using namespace std;
int main()
{
const int a=10;
const int& b=a;
int *p=const_cast<int*>(&a);
(*p)++;
int c=a;
cout<<a<<' '<<b<<' '<<*p<<' '<<c;
return 0;
}
//输出为10,11,11,10;
引申1:什么情况下使用const:
1.修饰一般常量,int const a=2,const int a=2均可。
2.修饰常数组。const int a[5]={1,2,3,4,5};
3.修饰常对象:class A; const A a;需要进行初始化,且对象不能被更新。
4.修饰常引用。
5.修饰常指针:const int * const a=&b;
6.修饰函数的常参数。
7.修饰函数的返回值:const int fun();
8.修饰类的成员函数:class A{ int fun()const;} fun不能修改类或者对象的属性。
9.在另一个连接文件中引用const常量:extern const int a;
引申2:什么是常引用:
是为了避免使用变量时,不知情的情况下修改了变量。常引用主要定义了一个普通变量的只读属性别名。
主要用途:1.只读属性别名。 2.函数的形参。
注意:1.如果是对一个常量进行引用,编译器会首先建立一个临时变量,将常量值置入临时变量(个人感觉成为幕后变量更合适),对引用的操作就是对这个临时变量操作。
2.引用初始化,非const引用只能用同类型非const左值进行初始化,而右值可以初始化const引用,过程为先建立一个临时对象存储右值,再用临时对象初始化const引用
3.在函数的引用型参数中,能被定义为const尽量定义为const,因为const引用可以用字面值初始化。
- C++:关键字const (转)
- c的 const关键字
- c的 const关键字
- C语言关键字----Const
- C语言关键字----Const
- c const关键字理解
- C语言----------const关键字
- c++const关键字
- C语言关键字const
- C/C++ const关键字
- C中const关键字
- C中const关键字
- c语言const关键字
- (C)const关键字
- C-038.const关键字
- C:const 关键字详解
- 详解C++const关键字
- c语言关键字const
- C#操作Word
- SQL SERVER 2008不能连接本地服务器的一种解决方法
- 淘宝双向接口简单修改
- Ubuntu 14.04 网卡逻辑名修改
- [笔记]统计学习方法
- 7.1.2 C++关键字 const
- MySql主从不同步,解决方法
- Apache Mina 学习笔记(1) - 入门
- 跟我学jquery(一)初体验jquery
- linux 下内存泄露检测工具valgrind的使用
- Cocos2d-x学习笔记(二)Cocos2d-x整体框架
- Longest Common Prefix
- java strictfp
- 学jquery(二)大话jquery选择器