[問題] COPY CONSTRUCTOR

看板C_and_CPP (C/C++)作者 (NI)時間16年前 (2009/08/23 14:00), 編輯推噓4(403)
留言7則, 4人參與, 最新討論串1/1
請問~ 什麼時候會被呼叫呢? 是只要=出現的時候嗎 還是只有一開始宣告的時候? 如果有copy constructor 在寫operator overloading '='的時候 需要注意什麼嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.4.234

08/23 14:11, , 1F
初始話 class A; A a=X 或是A a(X);
08/23 14:11, 1F

08/23 14:11, , 2F
一般A a; a=b是呼叫 operator =
08/23 14:11, 2F
請問如果說我沒有寫COPY CONSTRUCTOR 那初始化還可以直接用class A=B這樣嗎? 這樣他會自動幫我呼叫一般的constructor嗎? 另外請問一下 有沒有關於這一方面的文章可以參考 我這一邊的感覺很差...沒有搞懂... ※ 編輯: flax00298 來自: 140.112.4.234 (08/23 14:38)

08/23 14:44, , 3F
沒copy constructor的話,就是bitwise copy了呀
08/23 14:44, 3F

08/23 14:58, , 4F
有預設的copy constructor
08/23 14:58, 4F

08/23 15:07, , 5F
作樓上講的事情
08/23 15:07, 5F
SORRY有個忘記問的問題 OPERATOR OVERLOADING 跟 COPY CONSTRUCTOR都EXPLICIT IMPLEMENT時 class A=B又會呼叫哪一個呢? ※ 編輯: flax00298 來自: 140.112.4.234 (08/23 15:32)

08/23 20:13, , 6F
A a=b; 的話call copy c'tor
08/23 20:13, 6F

08/24 00:15, , 7F
喔喔感謝!!
08/24 00:15, 7F
文章代碼(AID): #1AaDhXsM (C_and_CPP)
文章代碼(AID): #1AaDhXsM (C_and_CPP)