Re: [問題] default constructor
看板C_and_CPP (C/C++)作者khoguan (Khoguan Phuann)時間19年前 (2005/06/23 00:37)推噓3(3推 0噓 1→)留言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
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
61.70.137.117 06/23, 4F
討論串 (同標題文章)
完整討論串 (本文為第 2 之 2 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章
-4
30