C++:关于"常量引用"不理解
如果是对一个常量进行引用,则编译器首先建立一个临时变量,然后将该常量的值置入临时变量中,对该引用的操作就是对该临时变量的操作。"对常量的引用可以用其它任何引用来初始化,但...
如果是对一个常量进行引用,则编译器首先建立一个临时变量,然后将该常量的值置入临时变量中,对该引用的操作就是对该临时变量的操作。"对常量的引用可以用其它任何引用来初始化,但不能改变."
前面说的都理解 最后一句话是什么意思呢? 展开
前面说的都理解 最后一句话是什么意思呢? 展开
4个回答
2016-01-12 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
如果是对一个常量进行引用,则编译器首先建立一个临时变量,然后将该常量的值置入临时变量中,对该引用的操作就是对该临时变量的操作。对常量的引用可以用其它任何引用来初始化;但不能改变。
关于引用的初始化有两点值得注意:
(1)当初始化值是一个左值(可以取得地址)时,没有任何问题;
(2)当初始化值不是一个左值时,则只能对一个const T&(常量引用)赋值。而且这个赋值是有一个过程的:
首先将值隐式转换到类型T,然后将这个转换结果存放在一个临时对象里,最后用这个临时对象来初始化这个引用变量。
例子:
double& dr = 1; // 错误:需要左值
const double& cdr = 1; // ok
第二句实际的过程如下:
double temp = double(1);
const double& cdr = temp;
关于引用的初始化有两点值得注意:
(1)当初始化值是一个左值(可以取得地址)时,没有任何问题;
(2)当初始化值不是一个左值时,则只能对一个const T&(常量引用)赋值。而且这个赋值是有一个过程的:
首先将值隐式转换到类型T,然后将这个转换结果存放在一个临时对象里,最后用这个临时对象来初始化这个引用变量。
例子:
double& dr = 1; // 错误:需要左值
const double& cdr = 1; // ok
第二句实际的过程如下:
double temp = double(1);
const double& cdr = temp;
展开全部
const int a;这就是一个常量,他能赋给任何其他与他一样的类型的变量,如int b,int c或者long d,前面都是没有const的哦!!就是说可以是这样子的 b = a;c = a;d = a;把a的值赋给没有带const的类型都可以!!但是如果你要把其他类型的赋给a那都是不行的!!例如 a = b;a = c;a = d;都是不行的!!因为const的原因!!const的用意是把这个值死死的锁死了!!不能改变的!!懂吧!!这都是解释不能改变的!!
”对常量的引用可以用其它任何引用来初始化“:这却是说const int a = 4;如果你只是刚开始的建立变量,那么你给他初始化是没问题的!!但是之后你却不能改变它的值,如果你硬生生的改变它的值,程序就会出错!!
对哦!!我刚才上面第一行说的赋给其他与他一样类型的变量,其实也不止只是一样的类型才能赋值,可以用其他函数去强制改变其类型,这个我就不详细回答了!!以后你自然会遇到了!!
”对常量的引用可以用其它任何引用来初始化“:这却是说const int a = 4;如果你只是刚开始的建立变量,那么你给他初始化是没问题的!!但是之后你却不能改变它的值,如果你硬生生的改变它的值,程序就会出错!!
对哦!!我刚才上面第一行说的赋给其他与他一样类型的变量,其实也不止只是一样的类型才能赋值,可以用其他函数去强制改变其类型,这个我就不详细回答了!!以后你自然会遇到了!!
追问
前辈啊 那我引申一下
是不是说:
常量引用:不能通过该引用去改变被引用变量的值
常量指针:不能通过该指针去改变被指向变量的值
和被指向或被引用的值具体是不是const的没有关系是吧?
追答
你还是举个例子给我吧!!我对文字的东西不敏感,对数字,字母就敏感!!
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1、全局变量只有一种定义方法,就是定义在函数外面
全局变量太长而言可以用变量也可以用宏
2、例如:
const double pi=3.14;
#define PI 3.14
全局变量太长而言可以用变量也可以用宏
2、例如:
const double pi=3.14;
#define PI 3.14
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不能赋值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询