2010-02-24 53 views
8

可能重複:
Why artificially limit your code to C?爲什麼有人會用C代替C++?

我開始了與學習C,但隨後跳下直入C++,只是因爲它支持OO並且還需要進行後續工作。但是,一些公司堅持僱用C經驗特別強的人 - 我注意到這一點尤其適用於硬件驅動程序開發公司。

+0

http://stackoverflow.com/questions/649789/why-artificially-limit-your-code-to-c – 2010-02-24 15:07:14

+16

爲什麼有人會用刀而不是食物處理器? – 2010-02-24 15:07:24

+0

@尼爾·巴特沃斯很酷,謝謝。 – 2010-02-24 15:08:53

回答

3

這可能只是他們沒有爲他們正在使用的平臺的C++編譯器...我個人一直使用C++優先於C.

3

C是更便攜 - 下的電流C++的標準化水平,當可移植性很重要時,它不能被使用。 C++代碼也很難被集成(以可靠和便攜的方式)到C環境中。

4

C字符串處理是非常類似於C++典型字符串代碼的。當然,我不希望我的驅動程序附近有任何C++字符串!更具體地說,在良好的現代C++中,你並不需要理解指針並在低級別處理緩衝區;但這些是設備驅動程序代碼中的基本和關鍵技能。

是的,可以用C++編寫好的驅動程序;但是C++看起來會像C一樣具有一些額外的功能。大多數C++庫在設備區沒有位置。

1

許多嵌入式系統(如微控制器,PLC等)使用C而不是C++,因爲它們不需要僅僅具有一個類,而只是一個具有一些功能的巨型循環。沒有什麼花哨的,但足以使用高級語言完成工作。由於人們比組裝更熟悉C,所以在大約98%的情況下它運作良好。

-1

我覺得原因很簡單,很多公司都想要高效的可讀代碼。 C是一門很容易理解和掌握的語言,對於許多用途來說,沒有理由通過添加OO語言使得可能但不需要的全新概念(類,多態性,繼承等)來使開發和代碼連續性複雜化。