C/C++中 关于对 引用变量 赋值的一些规则
2012-11-23 16:52
393 查看
int a = 1;
int &b = a;//正确
int &b = 2;//错误
const int &a = 2;//正确
int *p = new int;
int &a = *p;//正确
int &a=p;//错误
int a = 2;
const int& b = a;//正确
总结:
引用要满足两个条件
1.引用的数据类型必须相同。
2.引用赋值时不可以将不能改变的量赋给可以改变的量。
int a = 1;
int &b = a;//正确
满足条件1,2;
int &b = 2;//错误
不满足条件2,因为常量2是不可改变的常量,而引用的b是可以改变的,所以错误;
const int &a = 2;//正确
因为2和a在这里均为不可改变的常量,所以没问题
int *p = new int;
int &a = *p;//正确,因为*p为int格式,且可以改变
int &a=p;//错误,因为p为int*格式,格式不符,不满足条件1
int a = 2;
const int& b = a;//正确
可以将可以改变的量赋值给不可改变的量,反过来不可以
int &b = a;//正确
int &b = 2;//错误
const int &a = 2;//正确
int *p = new int;
int &a = *p;//正确
int &a=p;//错误
int a = 2;
const int& b = a;//正确
总结:
引用要满足两个条件
1.引用的数据类型必须相同。
2.引用赋值时不可以将不能改变的量赋给可以改变的量。
int a = 1;
int &b = a;//正确
满足条件1,2;
int &b = 2;//错误
不满足条件2,因为常量2是不可改变的常量,而引用的b是可以改变的,所以错误;
const int &a = 2;//正确
因为2和a在这里均为不可改变的常量,所以没问题
int *p = new int;
int &a = *p;//正确,因为*p为int格式,且可以改变
int &a=p;//错误,因为p为int*格式,格式不符,不满足条件1
int a = 2;
const int& b = a;//正确
可以将可以改变的量赋值给不可改变的量,反过来不可以
相关文章推荐
- 关于c++的引用变量与命名空间
- C/C++中关于地址、指针和引用变量的学习笔记(八) : 命令行参数
- c++ 数组,变量,指针,引用, 初始化,赋值
- 关于C++的一些细节[二:简单变量]
- c++关于类型强转后作为引用参数的一些问题
- 关于C++引用的一些注意点
- 关于C++全局变量和静态变量初始化的一些总结
- as3(ActionScript3)关于对象(Object)的赋值与引用的一些整理
- C/C++中关于地址、指针和引用变量的学习笔记(三) : 结构
- c++中关于变量,引用,指针的简单转换
- 一个讨论引发关于js中函数声明,函数表达式,形参与变量声明赋值引发的一些事
- 关于C#编程中引用与值类型赋值的一些容易犯错的地方
- C/C++中关于地址、指针和引用变量的学习笔记(七) : sizeof和typedef
- C/C++中关于地址、指针和引用变量的学习笔记(九) : 内存结构
- php变量引用赋值一些知识
- c++关于引用和const的一些问题
- C++变量(C++变量定义、变量赋值、命名规则)
- 关于拷贝构造函数和赋值操作重载函数访问同类引用参数的私有变量的疑问
- C/C++中关于地址、指针和引用变量的学习笔记(一)
- C/C++中关于地址、指针和引用变量的学习笔记(五) : 指针