Re: 微軟Azure技術長認為應以Rust代替C/C++開發專案

作者: Rushia (みけねこ的鼻屎)   2022-09-21 12:32:18
※ 引述《kerycheng (甚麼都不想做的凱瑞)》之銘言:
: 我上資料結構助教課開dev c++打C語言
: 寫for迴圈的時候,在我實驗室的電腦可以這樣打
: for(int i=0;...){}
: 可是到電腦教室的時候這樣打就會編譯失敗,一定要先
: int i;
: for(i=0;...){}
: 有人可以解答一下嗎
第一種寫法我記得是C99才被引入的
之前都是用第二種的智障寫法
你要去看一下你電腦教室的編譯器版本
作者: lovez04wj06 (車前草)   2022-09-21 12:34:00
就語法糖而已,實際上第二種比較好
作者: Rushia (みけねこ的鼻屎)   2022-09-21 12:35:00
哪裡好了= = 只會讓你程式碼變長語法糖又沒不好 不然你要像JAVA一樣囉唆?
作者: lovez04wj06 (車前草)   2022-09-21 12:35:00
程式碼變長又不是缺點,學校才會在意這種東西吧性別和變數用途明確定義重要多了
作者: Rushia (みけねこ的鼻屎)   2022-09-21 12:36:00
變長 而且更不好閱讀 不然你講講優點
作者: lovez04wj06 (車前草)   2022-09-21 12:36:00
型別
作者: ILoveErr (英梨梨我老婆)   2022-09-21 12:36:00
一行變兩行就是缺點ㄚ
作者: Rushia (みけねこ的鼻屎)   2022-09-21 12:38:00
我第一次聽到for的i放外面比較好的說法 現代程式語言都是白癡?ㄏㄏ
作者: surimodo (好吃棉花糖)   2022-09-21 12:39:00
第一種比較好吧 第二種變態太多還要注意生命週期變數
作者: ILoveErr (英梨梨我老婆)   2022-09-21 12:41:00
亂講 第一種才要注意生命周期
作者: lovez04wj06 (車前草)   2022-09-21 12:41:00
利用情形不同,更何況只是拉進去根本就不夠,就我而言就沒比較好用。 真的要好用語法糖都是去跑陣列取key value了
作者: lovez04wj06 (車前草)   2022-09-21 12:43:00
C我不確定,但我用的語言迴圈管你裡面外面,自己沒注意都可能有問題,誰迴圈只是跑1…n而已的
作者: Rushia (みけねこ的鼻屎)   2022-09-21 12:44:00
你直接說哪家大公司會教工程師變數i寫在外面除非有特定用途要記錄迴圈離開的索引 只是遍歷誰這樣寫當你的同事要看你的狗屎程式碼很雖小吧
作者: lovez04wj06 (車前草)   2022-09-21 12:47:00
你自己罵第一種智障,我覺得沒比較差,適用情況就第一種比較廣啊,不然你別用傳統吧,我就比較爛。講反了,第二種
作者: Rushia (みけねこ的鼻屎)   2022-09-21 12:48:00
你自己說第二種比較好又說不出第二種哪裡好你說變長不是缺點 但是一樣的事第一種就可以做到
作者: lovez04wj06 (車前草)   2022-09-21 12:49:00
自己嫌傳統爛,語法糖棒棒,適用情境不管,誰才莫名其妙
作者: Rushia (みけねこ的鼻屎)   2022-09-21 12:49:00
我上面就說第二種只有特殊用途會用了
作者: surimodo (好吃棉花糖)   2022-09-21 12:49:00
這種時候 該呼叫你板姑姑魯跟微軟工程師ㄌㄅ@教授 @啊怕氣 = =
作者: lovez04wj06 (車前草)   2022-09-21 12:50:00
你要不要看你回文先講什麼?
作者: Rushia (みけねこ的鼻屎)   2022-09-21 12:50:00
你說哪句 我上面就說除非特殊用途不然第一種用法屌打第二種除了變長以外一般情況下根本沒屁用你要在一個區塊寫三個迴圈看你要宣告幾個變數還不能相互污染喔 我在這邊定義一個i 結果上面有人宣告過
作者: MurasakiSion (紫咲シオン)   2022-09-21 12:53:00
這種變數的範圍越小越好啊 你要不要先說你什麼語言
作者: lovez04wj06 (車前草)   2022-09-21 12:53:00
你回文不就直接講傳統用法智障,我沒講語法糖你有解釋那麼多?寫底層的確是智障比較辛苦
作者: Rushia (みけねこ的鼻屎)   2022-09-21 12:53:00
直接跳一個編譯器錯誤
作者: surimodo (好吃棉花糖)   2022-09-21 12:53:00
搞不好是2000以前的專案 對啊= =
作者: Rushia (みけねこ的鼻屎)   2022-09-21 12:55:00
他那種寫法就只是迭代而已第二種寫法不可能比較好不然你以為JAVASCRIPT為啥要不斷的縮小scope?
作者: b0920075 (Void)   2022-09-21 13:10:00
linux kernel 也是近幾年才支援用 c99 編譯,在這之前應該所有在改 kernel 的大公司都是用第二種寫法
作者: HuiXillya (Illyasvien)   2022-09-21 13:18:00
程式碼是給人看到的,在這種效能基本沒差的狀況第一種比較好吧,第二種誰知道那個i會不會在哪邊被幹到

Links booklink

Contact Us: admin [ a t ] ucptt.com