Redian新闻
>
抠字眼:assignment and initialize in C++
avatar
抠字眼:assignment and initialize in C++# Programming - 葵花宝典
j*g
1
原文 in effective C++
string s3 = s2; // initialization
s1 = s3; // assignment
然后作者说initialization是由constructor来执行。
但是我的想法是第一行不只是initilization, 而是一个initilization后面跟一个
assignment。因为如果只是initilization的话,那么按照作者的说法,那么应该调用
一个copy constructor。实际上是调用default constructor后面跟一个assignment吧。
对不对?
avatar
t*t
2
不对! 作者说得没错, 你被打回去重学...
string s3=s2;
差不多相当于
string s3(s2);
虽然这两者之间也有细微差别

吧。

【在 j****g 的大作中提到】
: 原文 in effective C++
: string s3 = s2; // initialization
: s1 = s3; // assignment
: 然后作者说initialization是由constructor来执行。
: 但是我的想法是第一行不只是initilization, 而是一个initilization后面跟一个
: assignment。因为如果只是initilization的话,那么按照作者的说法,那么应该调用
: 一个copy constructor。实际上是调用default constructor后面跟一个assignment吧。
: 对不对?

avatar
c*g
3
第一个call copy ctr
第二个call =

吧。

【在 j****g 的大作中提到】
: 原文 in effective C++
: string s3 = s2; // initialization
: s1 = s3; // assignment
: 然后作者说initialization是由constructor来执行。
: 但是我的想法是第一行不只是initilization, 而是一个initilization后面跟一个
: assignment。因为如果只是initilization的话,那么按照作者的说法,那么应该调用
: 一个copy constructor。实际上是调用default constructor后面跟一个assignment吧。
: 对不对?

avatar
j*g
4
You guys are correct,被打回去重学。
Thinking in C++ Vol 1 569页。
不过没说两者间有啥差别。请trust明示。
avatar
t*t
5
叫我trust的人一概无视

【在 j****g 的大作中提到】
: You guys are correct,被打回去重学。
: Thinking in C++ Vol 1 569页。
: 不过没说两者间有啥差别。请trust明示。

avatar
P*e
6
hehe

【在 t****t 的大作中提到】
: 叫我trust的人一概无视
avatar
q*g
7
haha

【在 t****t 的大作中提到】
: 叫我trust的人一概无视
avatar
j*g
8
en, So what's the difference between
string s3(s2); and string s3 = new string(s2);?
avatar
j*g
9
汗。我也晕了。
string s3 = new string(s2) 是java用法吧。。。
avatar
S*8
10
Initialization一个local string去heap里刨一堆狗屎出来干吗?谁负责清除啊?

【在 P********e 的大作中提到】
: hehe
avatar
y*w
11
请问这个区别是不是和类型转换有关系(比如s2其实不是一个string的时候,但是可以
被cast成一个string的时候)

【在 t****t 的大作中提到】
: 不对! 作者说得没错, 你被打回去重学...
: string s3=s2;
: 差不多相当于
: string s3(s2);
: 虽然这两者之间也有细微差别
:
: 吧。

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