C語言是面向過程的,而C++是面向?qū)ο蟮?/p>
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ù))控制)。
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++的最大區(qū)別:在于它們的用于解決問題的思想方法不一樣。之所以說C++比C更先進(jìn),是因?yàn)椤?設(shè)計(jì)這個(gè)概念已經(jīng)被融入到C++之中 ”,而就語言本身而言,在C中更多的是算法的概念。那么是不是C就不重要了,錯(cuò)!算法是程序設(shè)計(jì)的基礎(chǔ),好的設(shè)計(jì)如果沒有好的算法,一樣不行。而且,“C加上好的設(shè)計(jì)”也能寫出非常好的東西。

大多時(shí)候,一些初學(xué)者不知道應(yīng)該讀什么書入門,有一定基礎(chǔ)的開發(fā)者不知道如何進(jìn)階。本文總結(jié)了一個(gè)C++優(yōu)秀書籍清單,希望能夠?yàn)槟銕硪欢ǖ膸椭?。因?yàn)槎嘧x一些優(yōu)秀的書籍,對(duì)于開發(fā)者穩(wěn)固編程基礎(chǔ)、提高編程技能有很大幫助,這些書大多數(shù)都有中文版,并且可以很容易在網(wǎng)上找到。?
?

小編推薦一個(gè)學(xué)C語言/C++的學(xué)習(xí)裙【 六九九,四七零,五九六 】,無論你是大牛還是小白,是想轉(zhuǎn)行還是想入行都可以來了解一起進(jìn)步一起學(xué)習(xí)!裙內(nèi)有開發(fā)工具,很多干貨和技術(shù)資料分享!
階段1
《Essential C++》這是一本內(nèi)容不多但很實(shí)用的C++入門書籍,強(qiáng)調(diào)快速上手與理解C++編程。本書主要圍繞一系列逐漸復(fù)雜的程序問題,以及用以解決這些問題的語言特性展開講解。你不只學(xué)到C++的函數(shù)和結(jié)構(gòu),也會(huì)學(xué)習(xí)到它們的設(shè)計(jì)目的和基本原理?!禖++ Primer》本書對(duì)C++基本概念、技術(shù)、以及現(xiàn)代C++編程風(fēng)格進(jìn)行了全面而且權(quán)威的闡述,是C++初學(xué)者的最佳指南;本書可以幫助你編寫實(shí)用的程序,而無需首先精通每個(gè)語言細(xì)節(jié)。對(duì)于中高級(jí)程序員,本書也是不可或缺的參考書。
階段2
《Effective C++》和《More effective C++》作者是Scott Meyers.你應(yīng)該熟讀它們,并清楚地理解每個(gè)項(xiàng)目。該書圍繞55條準(zhǔn)則,每一條都介紹了一個(gè)可讓你寫出更好的C++程序代碼的方法,并以特別設(shè)計(jì)過的例子詳加討論。《Exceptional C++(C++編程剖析)》和《More exceptional C++》這兩本書中都包含了40個(gè)C++編程問題,這些問題會(huì)讓你磨練自己的技能,最終成為優(yōu)秀的C++程序員。這些問題是Herb Sutter精心挑選,與ISO/ANSI C++官方標(biāo)準(zhǔn)相一致,幫助程序員在設(shè)計(jì)、架構(gòu)和編碼過程中保持良好的風(fēng)格,從而使編寫的C++軟件更健壯、更高效?!禩hinking in C++(C++編程思想)》C++ 領(lǐng)域權(quán)威著作,介紹了C++實(shí)用的編程技術(shù)和最佳的實(shí)踐方法。
階段3
《Inside the C++ object model(深度探索C++對(duì)象模型)》本書專注于C++面向?qū)ο蟪绦蛟O(shè)計(jì)的底層機(jī)制,包括結(jié)構(gòu)式語意、臨時(shí)性對(duì)象的生成、封裝、繼承,以及虛擬——虛擬函數(shù)和虛擬繼承,幫助你理解程序的底層實(shí)現(xiàn),以便寫出更高效的代碼?!禩he design and evolution of C++(C++語言的設(shè)計(jì)與演化)》本書作者也是C++語言的設(shè)計(jì)者Bjarne Stroustrup,作者在書中綜合性地介紹了C++的發(fā)展歷史,C++中各種重要機(jī)制的本質(zhì)意義和設(shè)計(jì)背景,這些機(jī)制的基本用途和使用方法,討論了C++所適合的應(yīng)用領(lǐng)域及其未來的發(fā)展前景,既沒有忽略關(guān)鍵性的詳情,又沒有過多地陷入技術(shù)細(xì)節(jié)。?
?

小編推薦一個(gè)學(xué)C語言/C++的學(xué)習(xí)裙【 六九九,四七零,五九六 】,無論你是大牛還是小白,是想轉(zhuǎn)行還是想入行都可以來了解一起進(jìn)步一起學(xué)習(xí)!裙內(nèi)有開發(fā)工具,很多干貨和技術(shù)資料分享!
階段4
《The C++ standard library(C++標(biāo)準(zhǔn)程序庫(kù))》這是標(biāo)準(zhǔn)模板庫(kù)字典,你可以在本書中找到STL相關(guān)的一切知識(shí)。本書焦點(diǎn)放在標(biāo)準(zhǔn)模板庫(kù)、檢查容器、迭代器、函數(shù)對(duì)象和STL算法上。每一個(gè)元素都有深刻的呈現(xiàn),包括其介紹、設(shè)計(jì)、運(yùn)用實(shí)例、細(xì)節(jié)解說、陷阱、意想不到的危險(xiǎn),以及相關(guān)類別和函數(shù)等?!禘ffective STL》這是Scott Meyers的第三本C++專著,也是學(xué)習(xí)STL最權(quán)威的書籍。作者對(duì)書中的50個(gè)指導(dǎo)方針都作了詳盡的分析,并配以示例。通過這些規(guī)則,C++開發(fā)者可以最大限度地使用STL.《Generic programming and the STL(泛型編程與STL)》本書闡述了泛型程序設(shè)計(jì)的核心理念:concepts(概念)、modeling(模型)和refinement(改善),并為你展示這些觀念如何導(dǎo)出STL的基礎(chǔ)概念:iterators(迭代器)、containers(容器)和function objects(函數(shù)對(duì)象)。按照本書所述,你可以把STL想象成一個(gè)由concepts組成的library,你將學(xué)習(xí)到STL正式結(jié)構(gòu)并理解其強(qiáng)大的優(yōu)勢(shì)。

小編推薦一個(gè)學(xué)C語言/C++的學(xué)習(xí)裙【 六九九,四七零,五九六 】,無論你是大牛還是小白,是想轉(zhuǎn)行還是想入行都可以來了解一起進(jìn)步一起學(xué)習(xí)!裙內(nèi)有開發(fā)工具,很多干貨和技術(shù)資料分享!
階段5
《Exceptional C++ style》作者為Herb Sutter.本書同樣提出了40個(gè)C++風(fēng)格相關(guān)的問題,對(duì)一些至關(guān)重要的C++細(xì)節(jié)和相互關(guān)系提出了新的見解,為當(dāng)今的關(guān)鍵C++編程技術(shù)(如泛型編程、STL、異常安全等)提供了新的策略,幫助開發(fā)者在開銷與功能之間、優(yōu)雅與可維護(hù)性之間、靈活性與過分靈活之間尋找完美的平衡點(diǎn)?!禖++ template》這是一本關(guān)于C++模板的完整的參考手冊(cè)和教程,它強(qiáng)調(diào)模板的使用實(shí)踐,包含了現(xiàn)實(shí)世界中的例子。每個(gè)C++程序員都應(yīng)該好好讀一讀這本書?!禡odern C++ design(現(xiàn)代C++設(shè)計(jì))》作者Andrei Alexandrescu為C++程序員打開了一個(gè)新的局面。本書提供了一些針對(duì)軟件設(shè)計(jì)的前沿方法,如聯(lián)合設(shè)計(jì)模式、泛型編程,使程序員可以編寫有表現(xiàn)力的、靈活的、高度可重用的代碼。


