討論串[問題] class的assignment運算子 (C++ Primer …
共 4 篇文章
首頁
上一頁
1
下一頁
尾頁
內容預覽:
其他部份不再贅述. 只談copy initialization(用=初始)跟direct initialization的差異. 1.如果ctor宣告explicit,就只能用direct initialization. 2.HasPtr Obj2(XXX); 跟 HasPtr Obj2=HasPtr
(還有635個字)
內容預覽:
這個是 "初始化",你知道這是初始化,那怎麼又會去叫"賦值"運算子呢?. 其實是不等價的 .... 如果 ctor 有加 explicit 修飾. 你就不能用 T t = anotherT;. 只能用 T t( anotherT );. 這是為什麼 char * 會被轉換為 std::string.
(還有11個字)
內容預覽:
我整理一下大家幫我回答的結論:. 1. HasPtr Obj2 = Obj1;. 是拿Obj1初始化Obj2,所以呼叫copy ctor,等價於 HasPtr Obj2(Obj1);. 不過這邊我還是有個小疑問,compiler怎會知道拿copy ctor幫Obj2作做初始化呢?. 為什麼Obj2不
(還有1392個字)
內容預覽:
我翻到C++ primer 4ed p501時,書上說class內有pointer最好要寫copy ctor. 跟 assignment 運算子,但是我看到p501有一種解法是value-like class 的作法,. 意即class內有pointer,且當class有copy行為或assign行
(還有902個字)
首頁
上一頁
1
下一頁
尾頁