C++ - const常量与指针和引用之间的关系
2016-11-15 23:36
393 查看
const常量
1、const常量必须在定义的时候初始化,且不能修改。2、const常量的默认类型为int类型。
3、#define是一个预处理器编译指令。该编译指令告诉预处理器,在程序中来查找并替换,修改后的程序将在这些变量的值替换后被编译。#define采用宏代换方式进行常量的处理,不具有类型检查机制,存在不安全性。
const与指针
const对象的地址只能赋给指向const对象的指针;
指向const对象的指针可以被赋予一个非const对象的地址。
int x = 1; const int y = 2; int *p1; const int *p2; p1 = &y; //wrong p2 = &x; //right
const与引用
在定义引用时,可以用const进行限制,使它成为不允许被修改的常量引用。const引用可以用常量初始化,但非const引用不能用常量初始化。const int &ir = 10; int &jr = 10; //wrong
编译器在实现常量引用时生成了一个临时对象,然后让引用指向这个对象。但该对象对用户而言,是隐藏的,不能访问。例如上述的语句会转化为:
int temp = 10; const int &ir = temp;
temp将保持到引用的生命期结束。
相关文章推荐
- C++中引用、指针与const之间的爱恨情愁
- C++指针和C#引用之间的关系。
- C++中引用、指针与const之间的爱恨情愁
- C/C++几个常见概念分析(指针、引用 、const常量、#define)
- C++ 指针,引用,普通变量之间的关系
- C++ const限定符之顶层const & 底层const & 指针 & 引用之间的关系
- const限定修饰符,常量指针,引用类型
- C++引用与指针的关系
- 【转】【c/c++】define宏定义和const常量定义之间的区别
- C++中指针,引用与const,以及const中的临时量对象的探讨
- C++中的指针与引用之间的区别
- 我的C++学习日记——关于const数值变量,指针和引用的理解
- C++,常量,const,constant,引用,指针,形参,实参,函数,返回值
- C++系列之基本数据类型、常量、变量、const、引用、typedef、枚举、类类型、编写自己的头文件
- C++中const修饰基本数据类型、指针、引用、对象
- C++中const与指针、引用的分析
- C++中const与指针、引用的分析(转自china_unix GP-King)
- 彻底搞清C/C++中一维数组,二维数组,指针,数组指针和指针数组以及指向指针的指针,行地址和列地址之间的关系
- // 程序员面试宝典 62页 ,指针,引用,const常量定以后立即初始化。
- C++ 常量指针或者常量引用作为函数参数传递的原因