1 回答

TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超14個(gè)贊
主要區(qū)別:C語句是面向結(jié)構(gòu)的語言,C++是面向?qū)ο蟮恼Z言,C++從根本上已經(jīng)發(fā)生質(zhì)飛躍,并對(duì)C進(jìn)行豐富的擴(kuò)展。
C與C++的區(qū)別 C是一個(gè)結(jié)構(gòu)化語言,如譚老爺子所說:它的重點(diǎn)在于算法和數(shù)據(jù)結(jié)構(gòu)。
C程序的設(shè)計(jì)首要考慮的是如何通過一個(gè)過程,對(duì)輸入(或環(huán)境條件)進(jìn)行運(yùn)算處理得到輸出(或?qū)崿F(xiàn)過程(事務(wù))控制),而對(duì)于C++,首要考慮的是如何構(gòu)造一個(gè)對(duì)象模型,讓這個(gè)模型能夠契合與之對(duì)應(yīng)的問題域,這樣就可以通過獲取對(duì)象的狀態(tài)信息得到輸出或?qū)崿F(xiàn)過程(事務(wù))控制。
所以C與C++的最大區(qū)別在于它們的用于解決問題的思想方法不一樣。之所以說C++比C更先進(jìn),是因?yàn)椤?設(shè)計(jì)這個(gè)概念已經(jīng)被融入到C++之中 ”,而就語言本身而言,在C中更多的是算法的概念。那么是不是C就不重要了,錯(cuò)!算法是程序設(shè)計(jì)的基礎(chǔ),好的設(shè)計(jì)如果沒有好的算法,一樣不行。而且,“C加上好的設(shè)計(jì)”也能寫出非常好的東西。
對(duì)語言本身而言,C是C++的子集,那么是什么樣的一個(gè)子集?從上文可以看出, C實(shí)現(xiàn)了C++中過程化控制及其它相關(guān)功能,而在C++中的C(我稱它為“C+”),相對(duì)于原來的C還有所加強(qiáng),引入了重載、內(nèi)聯(lián)函數(shù)、異常處理等等玩藝兒,C++更是拓展了面向?qū)ο笤O(shè)計(jì)的內(nèi)容,如類、繼承、虛函數(shù)、模板和包容器類等等。
- 1 回答
- 0 關(guān)注
- 619 瀏覽
添加回答
舉報(bào)