avatar
what's the outcome?# Programming - 葵花宝典
m*g
1
string a1 = "Hello";
string a2 = "world!";
string* s1 = 0;
string& s2 = a1;
s1 = &a1;
s2 = a2;
std::cout << *s1 << " " << s2 << std::endl;
and why?
avatar
j*k
2

//after this line s1=s2
//so outcome is world! world!
Am I right?

【在 m**g 的大作中提到】
: string a1 = "Hello";
: string a2 = "world!";
: string* s1 = 0;
: string& s2 = a1;
: s1 = &a1;
: s2 = a2;
: std::cout << *s1 << " " << s2 << std::endl;
: and why?

avatar
d*d
3
I think you are right.

【在 j*****k 的大作中提到】
:
: //after this line s1=s2
: //so outcome is world! world!
: Am I right?

avatar
d*d
4

s1是a1的地址,s2是a1的reference,不能说s1 = s2.

【在 j*****k 的大作中提到】
:
: //after this line s1=s2
: //so outcome is world! world!
: Am I right?

avatar
j*k
5
那后面s2=a2了,就不是s2变成a2的reference了?
还是说s2就只能是a1的reference, s2=a2, 就是把a1=a2了?

【在 d*******d 的大作中提到】
:
: s1是a1的地址,s2是a1的reference,不能说s1 = s2.

avatar
d*d
6

是谁的reference只能在定义的时候决定,然后就不能改了。
对。

【在 j*****k 的大作中提到】
: 那后面s2=a2了,就不是s2变成a2的reference了?
: 还是说s2就只能是a1的reference, s2=a2, 就是把a1=a2了?

avatar
j*g
7
s2 is the reference of a1.
so s2=a2 ==> a1=a2 ==> *s1="World!"
avatar
c*x
8

the answer is : world! world!

【在 m**g 的大作中提到】
: string a1 = "Hello";
: string a2 = "world!";
: string* s1 = 0;
: string& s2 = a1;
: s1 = &a1;
: s2 = a2;
: std::cout << *s1 << " " << s2 << std::endl;
: and why?

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。