[問題] type convert operator & constructor

看板C_and_CPP (C/C++)作者 (做遊戲的心)時間16年前 (2009/11/18 02:47), 編輯推噓1(102)
留言3則, 1人參與, 最新討論串1/1
最近讀到關於type convert operator和type convert constructor 書中提到type convert constructor發生的時間點有二; 1.建立物件時 2.使用call by value之函數時,傳入參數為物件,但呼叫函數時, 傳入引數卻不是物件 關於2.我的想法是因為call by vlaue是將整個物件複製一份傳入到函數內,所以必須 利用傳入的引數來建立新的物件,所以就跳到1.的情況,請問這樣的想法是正確的嗎? 另外一個問題是關於書中的一段敘述: 運用類別除了可以享受多載運算子的便利,並且可以避免處理字元陣列的指標,但卻 也造成了無法使用c++中,以字元陣列為參數之函數的問題 請問"避免處理字元陣列的指標"的意思是什麼?我不太懂 再者,如果要使用字元陣列為參數之函數,大可使用像這樣的member function就好了阿 char * get_name(){return name;} 為什麼會造成問題? 最後一個問題 if(object_a == "my object" ){.....} 像上面這樣子的程式碼,compiler要怎麼分辨到底要使用type convert constructor 還是type convert operator?(object_a是一個物件) 問題很多很雜 請板上前輩們回答 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.25.53.228

11/18 10:43, , 1F
不對哦 call by value 是 unnamed object
11/18 10:43, 1F

11/18 10:45, , 2F
1.的話是 named object 兩個不同
11/18 10:45, 2F

11/18 10:46, , 3F
最後一個問題要看 operator==怎麼展開
11/18 10:46, 3F
文章代碼(AID): #1B0k-mVa (C_and_CPP)
文章代碼(AID): #1B0k-mVa (C_and_CPP)