搜索
编程论坛
→
开发语言
→
C++论坛
→
『 C++教室 』
→ 这个引用怎么理解?
标题:
这个引用怎么理解?
取消只看楼主
sharplong
等 级:
论坛游侠
帖 子:122
专家分:121
注 册:2017-3-27
结帖率:
85.71%
楼主
已结贴
√
问题点数:20 回复次数:5
这个引用怎么理解?
int &r4 = r1 * 2;为什么不正确呢?
搜索更多相关主题的帖子:
引用
int
2017-05-27 12:53
sharplong
等 级:
论坛游侠
帖 子:122
专家分:121
注 册:2017-3-27
第
2
楼
得分:0
编辑器提示,非常量引用初始化值必须是左值,r1不是左值吗?
#include "stdio.h"
void main()
{
int i =42;
int &r1 = i;
int &r4 = r1*2;
}
跟据科学研究呢,拥有一个良好的头像呢,有助于提高帖子关注度,和被友好对待的可能性:)准确来说呢,其实,我是一个演员....和兼职汽车维修员
2017-05-27 13:16
sharplong
等 级:
论坛游侠
帖 子:122
专家分:121
注 册:2017-3-27
第
3
楼
得分:0
回复 4楼 rjsp
r1*2不是左值
const int &4 = r1*2;就没问题。
跟据科学研究呢,拥有一个良好的头像呢,有助于提高帖子关注度,和被友好对待的可能性:)准确来说呢,其实,我是一个演员....和兼职汽车维修员
2017-05-27 14:25
sharplong
等 级:
论坛游侠
帖 子:122
专家分:121
注 册:2017-3-27
第
4
楼
得分:0
回复 6楼 rjsp
所以不可写出 r4 = 0 这种语句,也就是不可能有 r1*2 = 0 这种非法情况出现。
-----------------------------------------------------
感谢版主的耐心解答,您的答案又更一步启发了我。
您的意思是:
如果 int &r4 = r1*2; 成立 那么
r4 = 0;
r1 *2 = 0;成立,
但是很显然以上两条语句为非法,所以 int &r4 = r1*2非法
然而 加上const 就不会出现上面两条语句的可能性。所以const int &r4 = r1*2 是正确的。
[此贴子已经被作者于2017-5-27 15:19编辑过]
跟据科学研究呢,拥有一个良好的头像呢,有助于提高帖子关注度,和被友好对待的可能性:)准确来说呢,其实,我是一个演员....和兼职汽车维修员
2017-05-27 15:12
sharplong
等 级:
论坛游侠
帖 子:122
专家分:121
注 册:2017-3-27
第
5
楼
得分:0
回复 3楼 九转星河
感谢大佬关注
跟据科学研究呢,拥有一个良好的头像呢,有助于提高帖子关注度,和被友好对待的可能性:)准确来说呢,其实,我是一个演员....和兼职汽车维修员
2017-05-27 15:20
sharplong
等 级:
论坛游侠
帖 子:122
专家分:121
注 册:2017-3-27
第
6
楼
得分:0
回复 9楼 yangfrancis
多谢指导。
跟据科学研究呢,拥有一个良好的头像呢,有助于提高帖子关注度,和被友好对待的可能性:)准确来说呢,其实,我是一个演员....和兼职汽车维修员
2017-05-27 15:55
6
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-477416-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.090690 second(s), 9 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved