您的位置:首页 > 编程语言 > C语言/C++

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;//正确

可以将可以改变的量赋值给不可改变的量,反过来不可以
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: