[問題] 舊式型態轉換、運算優先順序
問題(Question):
小弟想請教,假設 T 代表某型態如 int, double, ...
那想要用型態轉換處理[變數、運算式或函數回傳等] R
(T)R
T(R)
請問這樣有什麼不一樣?
我原本理解是第一種是直接轉換,第二種是呼叫T的建構式產生一個新物件再回傳。
所以結果一樣但是第一種比較好。
不過在網路上看到某老師的上課講義寫說第一種是 C 第二種是 C++,一樣。
其實我想應該不會影響程式的行為吧?也就是效果相同?效率會相同?
另外在 C++ Reference 看到
return (int(i)<int(j)); 的程式
我覺得有點疑惑最外層的括號為什麼要加?有何考量?
另外 C 運算符號優先順序應該到 C++ 還是不變的吧?(直覺是)
所以舊式轉換(我剛舉例的兩種)優先度跟 static_cast 是相同的?
感謝!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.110.143.70
→
05/20 23:42, , 1F
05/20 23:42, 1F
→
05/20 23:42, , 2F
05/20 23:42, 2F
→
05/21 02:40, , 3F
05/21 02:40, 3F
→
05/21 02:41, , 4F
05/21 02:41, 4F
→
05/21 08:58, , 5F
05/21 08:58, 5F
推
05/21 21:22, , 6F
05/21 21:22, 6F
→
05/21 21:23, , 7F
05/21 21:23, 7F
→
05/22 23:26, , 8F
05/22 23:26, 8F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章