#define PI 3.14159 //常量宏 const doulbe Pi=3.14159; //此时并未将Pi放入ROM中 ...... double i=Pi; //此时为Pi分配内存,以后不再分配! double I=PI; //编译期间进行宏替换,分配内存 double j=Pi; //没有内存分配 double J=PI; //再进行宏替换,又一次分配内存!const定义常量从汇编的角度来看,只是给出了对应的内存地址,而不是像#define一样给出的是立即数,所以,const定义的常量在程序运行过程中只有一份拷贝,而 #define定义的常量在内存中有若干个拷贝 。
const与static的区别static
1、static局部变量 将一个变量声明为函数的局部变量,那么这个局部变量在函数执行完成之后不会被释放,而是继续保留在内存中
2、static 全局变量 表示一个变量在当前文件的全局内可访问
3、static 函数 表示一个函数只能在当前文件中被访问
4、static 类成员变量 表示这个成员为全类所共有
5、static 类成员函数 表示这个函数为全类所共有,而且只能访问静态成员变量
static关键字的作用
(1)函数体内static变量的作用范围为该函数体,该变量的内存只被分配一次,因此其值在下次调用时仍维持上次的值(2)在模块内的static全局变量和函数可以被模块内的函数访问,但不能被模块外其它函数访问(3)在类中的static成员变量属于整个类所拥有,对类的所有对象只有一份拷贝(4)在类中的static成员函数属于整个类所拥有,这个函数不接收this指针,因而只能访问类的static成员变量
const关键字的作用
(1)阻止一个变量被改变(2)声明常量指针和指针常量(3)const修饰形参,表明它是一个输入参数,在函数内部不能改变其值(4)对于类的成员函数,若指定其为const类型,则表明其是一个常函数,不能修改类的成员变量(5)对于类的成员函数,有时候必须指定其返回值为const类型,以使得其返回值不为”左值”
引用概念引用不是新定义一个变量,而是给已存在变量取了一个别名,编译器不会为引用变量开辟内存空间,它和它引用的变量共用同一块内存空间 。也就好比我们给同学取了一个外号一样 。用法: 类型&引用变量名(对象名)= 引用实体;
int main(){ int a = 10; int& ra = a;// ra是a的引用 cout << a << endl; cout << ra << endl; system("pause"); return EXIT_SUCESS;}特性及注意事项
- 引用在定义的时候必须初始化
- 一个变量可有多个引用
- 引用一个引用一个实体,无法再引用其他实体
Type& ref = val;
注意事项:
- &在此不是取地址运算符,而是起到一个标识的作用
- 类型标识符指的是目标变量的类型
- 引用初始化之后不能改变
- 不能有NULL引用,必须确保引用是和一块合法的存储单元关联
经验总结扩展阅读
- 手机怎么把QQ空间说说一次性全删掉(qq如何恢复删掉的说说)
- 怎么一次性删掉QQ空间里的全部说说(翻看以前qq空间的说说)
- 怎么把空间说说全部清空(qq空间一键清空所有说说)
- 手机QQ空间怎么一次性删除说说求解(怎么一键删除qq说说)
- qq空间说说怎么全部删除(怎样一键清空qq空间)
- 小户型卧室如何设计 小户型卧室空间布局设计
- 恋梦空间郭蓉和谁在一起了?
- 空间站是静止的还是运动的
- 如何注销空间 1980717Z空间
- qq空间说说怎么全部删除(qq空间说说一键恢复)