由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 抠字眼:assignment and initialize in C++
相关主题
c++ initialize structstatic vector 怎么 initialize ?
Is the order of initialization a, b, c or c, b, a?what is the difference?
one question about initializaiton list问一个java基础的初始化的问题,一直搞不明白
问一个 copy constructor 的问题 (C++)c++问题,请高人指点迷津,c++ faq lite的一个例子
请教问题Q on overloaded assignment vs copy constructor.
一道 memset in C++的题static initialization dependency c++
pthread_create inside a constructorC++ 中 myobject * a =new myobject[n] 的问题
问个copy constructor的问题Test your C++ knowledge...
相关话题的讨论汇总
话题: c++话题: assignment话题: string话题: initialize
进入Programming版参与讨论
1 (共1页)
j****g
发帖数: 597
1
原文 in effective C++
string s3 = s2; // initialization
s1 = s3; // assignment
然后作者说initialization是由constructor来执行。
但是我的想法是第一行不只是initilization, 而是一个initilization后面跟一个
assignment。因为如果只是initilization的话,那么按照作者的说法,那么应该调用
一个copy constructor。实际上是调用default constructor后面跟一个assignment吧。
对不对?
t****t
发帖数: 6806
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吧。
: 对不对?

c*****g
发帖数: 119
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吧。
: 对不对?

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

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

P********e
发帖数: 2610
6
hehe

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

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

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

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

t****t
发帖数: 6806
12

http://www.mitbbs.com/article_t/Programming/23148251.html

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

y*w
发帖数: 238
13
请问大虾,这些知识平时怎么积累?

【在 t****t 的大作中提到】
: 是
: http://www.mitbbs.com/article_t/Programming/23148251.html

1 (共1页)
进入Programming版参与讨论
相关主题
Test your C++ knowledge...请教问题
[合集] 一些C++问题一道 memset in C++的题
find bugs of c++ codespthread_create inside a constructor
C++ Q01: private inheritance.问个copy constructor的问题
c++ initialize structstatic vector 怎么 initialize ?
Is the order of initialization a, b, c or c, b, a?what is the difference?
one question about initializaiton list问一个java基础的初始化的问题,一直搞不明白
问一个 copy constructor 的问题 (C++)c++问题,请高人指点迷津,c++ faq lite的一个例子
相关话题的讨论汇总
话题: c++话题: assignment话题: string话题: initialize