Re: [問題] default constructor

看板C_and_CPP (C/C++)作者 (Khoguan Phuann)時間19年前 (2005/06/23 00:37), 編輯推噓3(301)
留言4則, 3人參與, 最新討論串2/2 (看更多)
※ 引述《cplusplus (永夜)》之銘言: : ※ 引述《UNARYvvv (有趣生活)》之銘言: : : 想請問一下最後三行 : : 是直接呼叫 X(const Y&) 沒錯,畢竟傳入引數就是一個 Y : : 但那句「而不用第一步執行 X(const Y&) .....(略)」 : : 有點看不太懂了 : X x=y; => X x=X(y); 語意上本來該是這樣 可以這樣理解,但是若真的寫成 X x = X(y); 就是明示地(explicitly) 用 y 建構出一個 X 的暫時物件,和 X x = y; 那個 y 用隱含的(implicit) 方式建構出一個 X 的暫時物件不完全一樣。 : C++ ISO定義為直接... : X x(y); 這樣 X x=y; 和 X x(y); 兩者是不同的。 前者的語意要兩層的 ctor, 後者只是一層 ctor. 前者遇到 explict X(const Y&); 就編譯不過,後者可以。 這個 explict 就是上述 explicit 和 implicit 不完全一 樣的地方。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.130.208.168

140.115.205.46 06/23, , 1F
這些我清楚啦 :p 感謝補充說明
140.115.205.46 06/23, 1F

61.59.30.19 06/23, , 2F
嗯..這算進一步的探討了..先前我也沒歸入此情況
61.59.30.19 06/23, 2F

220.130.208.168 06/23, , 3F
不好意思,我班門弄斧了 ^^
220.130.208.168 06/23, 3F

61.70.137.117 06/23, , 4F
k兄考慮周到 別這麼說啦 很多地方還靠您解惑哩~
61.70.137.117 06/23, 4F
文章代碼(AID): #12kPFITJ (C_and_CPP)
文章代碼(AID): #12kPFITJ (C_and_CPP)