[問題] 請問關於隱式型別轉換

看板C_and_CPP (C/C++)作者 (真實之眼)時間15年前 (2011/01/16 01:36), 編輯推噓2(203)
留言5則, 3人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) VC++ 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 想請問各位先進, 最近開始透過C++ Primer自修, 現在碰到一點小疑問: 程式碼如下: string s = "test"; 請問為何 s + s[s.size() -1 ] 會是一個合法的語句 但是 s == s[s.size() -1 ] 卻不是? 我個人的認知是: s 為 string s[s.size() -1 ] 為 char 既然s+s[size()-1]能成立 (char轉換為string後加上原本的string) 那為何 s == s[s.size() -1 ] 無法正確轉換? 還請各位先進解惑, 感謝 :) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.132.254.64

01/16 01:39, , 1F
http://ppt.cc/~hQv 網頁上方的第5個版本運算子
01/16 01:39, 1F

01/16 01:40, , 2F
+的運算有char和string的,==只有char*和string
01/16 01:40, 2F

01/16 01:41, , 3F
第二個問題: 只有 std::string vs std::string 和char
01/16 01:41, 3F

01/16 01:41, , 4F
就跟 2F 講的一樣 http://ppt.cc/k7JN
01/16 01:41, 4F

01/16 01:44, , 5F
謝謝兩位先進 :) 很清楚, 受教了!
01/16 01:44, 5F
文章代碼(AID): #1DCTiW28 (C_and_CPP)
文章代碼(AID): #1DCTiW28 (C_and_CPP)