C_and_CPP 板


LINE

※ 引述《yehsd (急)》之銘言: : : 那為啥不用C++寫作業程式 而用C呢? : 通常來說, 作業程式(你指的是與 system 相關的嗎?) 需要較好的 performance, : 很少人會希望自己的 operating system 慢到抓狂吧..?? C++ 因為用物件來表示 : unit, 無形中加了許多對系統 performance 有影響的東西, 比如 constructor, : 或 destructor, 雖然 compile 完後沒幾行, 但是若是常被系統跑到的 function, : (1000,000,000 次 x 多出來的 instruction) 我想這個數字會拖慢效能多少, 只要你不寫 constructor 或 destructor 產生/銷毀物件時就不會有額外的負擔 compiler 沒那麼笨,明知道 constructor 是空的還去 call function 如果你的資料需要初始化 那產生物件時的確需要 constructor 但若你用 C 實作相同的功能 也一樣要去呼叫某個 function 去初始化 呼叫 constructor 和呼叫一般 function 的效率並沒有差別 同樣的道理也可以應用在 destructor 身上 更何況 constructor 是 compiler 幫你自動呼叫的 在 C 裡面你可能宣告了變數卻忘了初始化 C++ 的 constructor 正好可以避免這種情況 : 應該就顯而易見了吧, C 可以用許多 tricky 避開會影響效能的 code, 最常見的 : 就是 goto. C++ 也可以用 goto 呀 : : 難道C++有何缺點以至於不適合寫作業程式嗎? : 同上, 主要是 C++ compiler "偷"加了許多你不知道的 code 在裡面. 這些 : code 就是為了達到 C++ 能夠成為 object-oriented 的基礎. : : 還是只是大部分設計人員的習慣呢? : 所以當設計人員發現 C 真的比較快時, 自然而然不會去選擇用 C++ 來寫 : 系統相關的 program.... 若用相同的方法做相同的事情 C++ 並不會比 C 慢 用 C++ 會變慢多半是因為寫的人不太了解 C++ 至於用不同的方法做相同的事情 的確有時候 C 比 C++ 快 (printf 比 cout 快是不爭的事實) 但也有許多 C++ 比 C 快的情況 (例:STL 的 sort 狂勝 C 的 qsort) 既然做法不一樣 那比這個也沒什麼意義可言 --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.87.151.2
1F:→ adrianshum:我印象中有些情況 cout 比 printf 快耶 03/06 19:21
2F:推 PRAM:看一下 10268 篇吧 03/06 19:44
3F:推 softwind:我覺得 Linus說的很中肯 C++擴充C 但不代表 C++比C優越 03/06 21:11
4F:→ tinlans:遺憾的是 C++ 並非 C 的擴充。 03/06 21:14
5F:推 Chevelle:C++ 如果不是 C 的擴充為什麼要叫 C++? 03/06 21:22
6F:推 yoco315:對阿 C# 還是 C++++ 呢 03/06 21:26
7F:→ james732:C#跟C就有本質上的不同了吧 XD 03/06 21:27
8F:推 Chevelle:不是那麼「本質」的不同吧 03/06 21:34
9F:→ MOONRAKER:C#其實是個變形VB,自戀地覺得自己是C++,其實啥都不是 03/07 00:16
10F:→ james732:它跟舊的VB 6應該也很不一樣,我倒比較認同它是變形Java 03/07 00:17
11F:→ MOONRAKER:他是一個變態的Java沒錯,不過我認為他骨子裡還是VB XD 03/07 22:11
12F:→ yoco315:他是 java 03/08 11:39







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:e-shopping站內搜尋

TOP