[問題] if的簡潔版

看板C_and_CPP作者 (不下棋)時間10年前 (2015/12/20 01:31), 編輯推噓6(606)
留言12則, 9人參與, 最新討論串1/1
if(a > b) max1 = a; else max1 = b; 也可以寫成 max1 = (a>b) ?a:b; 但是簡化成一行的優點只是程式碼比較短而已嗎? 簡化後速度反而比較慢,而且不易閱讀, 真不曉得有這功能要幹嘛... -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 106.1.105.114 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1450546283.A.274.html

12/20 01:35, , 1F
比較慢大概是沒開最佳化,不易閱讀是你看不習慣
12/20 01:35, 1F

12/20 01:39, , 2F
井蛙之見
12/20 01:39, 2F

12/20 01:55, , 3F
用這個三元運送子代表一定會有else的部分吧
12/20 01:55, 3F

12/20 02:14, , 4F
速度比較慢?這一定有什麼誤會
12/20 02:14, 4F

12/20 08:19, , 5F
最佳化怎麼開啊?
12/20 08:19, 5F

12/20 08:49, , 6F
應該是WINAPI很需要這個功能
12/20 08:49, 6F

12/20 08:55, , 7F
因為winapi的參數太多,用if else會更難懂
12/20 08:55, 7F

12/20 10:27, , 8F
printf("%d", isDigit ? 0 : 1);
12/20 10:27, 8F

12/20 10:27, , 9F
像這種東西你用if-else會變得很壟長 而且要多宣告個int
12/20 10:27, 9F

12/20 10:28, , 10F
python也有類似的東西 return True if a>b else False
12/20 10:28, 10F

12/21 13:27, , 11F
推樓上
12/21 13:27, 11F

12/22 20:55, , 12F
12/22 20:55, 12F
文章代碼(AID): #1MTPHh9q (C_and_CPP)