[問題] 請問copy constructor的問題
小弟我正在研究以下三個函數
被呼叫的時機
class Foo {
public:
Foo();
Foo( const Foo & rh );
Foo& operator=( cosnt Foo & rh );
};
現在我定義這樣一個函數
Foo do_something ( ) {
Foo f1;
return f1;
}
然後呼叫他
Foo f3 = do_something( );
我發現f3並沒有呼叫上面三個函數裡面的任何一個,
我原本以為應該會觸發copy constructor,結果沒有 !!!?
問題是也沒有觸發assignment operator
唯一確定有跑的就是 f1 的 default constructor
請問這樣是正常的嗎?
我用的編譯器是codeblock內建的gcc 4.4.1
--
懷著一顆對這個家有無限關愛的心,我,再度流浪到遠方。 --<舒伯特>
這些年來,我唱著歌,唱出愛,可是它對我來說卻是痛苦;
我唱出痛苦,可是它對我來說又是愛。 愛與痛苦就這樣分割著我。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.158.103
推
05/10 00:37, , 1F
05/10 00:37, 1F
推
05/10 04:03, , 2F
05/10 04:03, 2F
→
05/10 10:49, , 3F
05/10 10:49, 3F
→
05/10 10:50, , 4F
05/10 10:50, 4F
推
05/10 11:22, , 5F
05/10 11:22, 5F
→
05/10 11:22, , 6F
05/10 11:22, 6F
→
05/10 11:23, , 7F
05/10 11:23, 7F
→
05/10 11:24, , 8F
05/10 11:24, 8F
→
05/10 11:34, , 9F
05/10 11:34, 9F
推
05/10 12:06, , 10F
05/10 12:06, 10F
→
05/10 14:47, , 11F
05/10 14:47, 11F
→
05/10 14:48, , 12F
05/10 14:48, 12F
→
05/10 14:54, , 13F
05/10 14:54, 13F
→
05/10 14:54, , 14F
05/10 14:54, 14F
→
05/10 14:55, , 15F
05/10 14:55, 15F
→
05/10 14:55, , 16F
05/10 14:55, 16F
→
05/10 15:09, , 17F
05/10 15:09, 17F
→
05/10 15:13, , 18F
05/10 15:13, 18F
→
05/10 15:13, , 19F
05/10 15:13, 19F
討論串 (同標題文章)
完整討論串 (本文為第 1 之 2 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章