出版時間:2011-5-5 出版社:華中科技大學(xué)出版社 作者:陳良喬 頁數(shù):376
Tag標(biāo)簽:無
內(nèi)容概要
每一個渴望學(xué)習(xí)C++語言的初學(xué)者都希望能夠有一本全面的,實用的,同時又是生動有趣的入門書。這本入門書可以告訴這些初學(xué)者,整個C++世界有哪些內(nèi)容構(gòu)成,應(yīng)該按照怎樣的路徑進(jìn)行學(xué)習(xí)探索,用C++進(jìn)行程序設(shè)計應(yīng)該具有怎樣的設(shè)計思想,同時,又如何在實踐中運用這些學(xué)到的知識??梢哉f,這本書基本上囊括了每個C++初學(xué)者都應(yīng)該了解的所有知識,從C++的基礎(chǔ)知識到面向?qū)ο笏枷耄瑥脑O(shè)計模式到STL標(biāo)準(zhǔn)模板庫,從Windows系統(tǒng)下的開發(fā)到Linux/嵌入式系統(tǒng)下的開發(fā),再到最后的項目管理知識。當(dāng)一位C++初學(xué)者完成本書的學(xué)習(xí)后,他基本上瀏覽了C++的整個世界,可以獨立地以C++進(jìn)行應(yīng)用開發(fā)了。
作者簡介
陳良喬
程序員、自由撰稿人,畢業(yè)于西安交通大學(xué)。敏而好學(xué),樂于分享,連續(xù)六年獲得微軟MVP稱號。因撰寫一系列Visual Studio
2010技術(shù)文章和Windows 7開發(fā)技術(shù)文章,2010年又獲“MSDN原創(chuàng)之星”稱號。參與微軟中國Visual
C++深度體驗圓桌會議,終獲得Visual
Studio貢獻(xiàn)水晶獎杯。平素喜好新鮮事物,但決非新潮技術(shù)的追捧者,至今還陷在設(shè)計模式、面向?qū)ο蠓椒ㄖ校荒茏园?。好舞文弄墨,傳播心得,著有博客:http://imcc.blogbus.com?
書籍目錄
第1篇 叩開C++世界的大門
第1章 C++世界地圖
1.1 C++是什么
1.2 C++的前世今生
1.2.1 從B到C
1.2.2 從C到C++
1.2.3 從C++到.NET Framework的CLI
1.2.4 最新標(biāo)準(zhǔn)C++0x讓C++重新煥發(fā)活力
1.2.5 C++和C#不得不說的那點事兒
1.2.6 C++世界的五大子語言
1.3 C++世界版圖
1.3.1 Windows系統(tǒng)下的C++開發(fā)
1.3.2 Linux?統(tǒng)下的C++開發(fā)
1.3.3 嵌入式系統(tǒng)下的C++開發(fā)
1.4 如何學(xué)好C++
1.4.1 將自然語言轉(zhuǎn)換為C++程序設(shè)計語言
1.4.2 “多讀多寫”是學(xué)好C++的不二法門
1.4.3 和Google做朋友
第2章 與C++第一次親密接觸
2.1 一個C++程序的自白
2.1.1 用Visual Studio創(chuàng)建C++程序
2.1.2 以手工方式創(chuàng)建C++程序
2.1.3 C++程序=預(yù)編譯指令+程序代碼+注釋
2.1.4 編譯器和鏈接器
2.1.5 C++程序的執(zhí)行過程
2.1.6 程序的兩大任務(wù):描述?據(jù)與處理數(shù)據(jù)
2.2 基本輸入/輸出流
2.2.1 標(biāo)準(zhǔn)的輸入和輸出對象
2.2.2 輸出格式控制
2.2.3 讀/寫文件
2.3 最常用的開發(fā)環(huán)境Visual Studio
2.3.1 Visual C++的常用菜單
2.3.2 Visual C++的常用視圖
2.4 C++世界旅行必備的物品
2.4.1 編程助手Visual Assist
2.4.2 代碼配置管理工具Visual Source Safe
2.4.3 CodeProject和CodeGuru
2.4.4 C++百科全書MSDN
第2篇 歡迎來到C++世界
第3章 C++世界眾生相
3.1 C++中的數(shù)據(jù)類型
3.2 變量和常量
3.2.1 聲明變量
3.2.2 給變量取個好名字
3.2.3 變量初始化
3.2.4 常量
3.2.5 用宏與const關(guān)鍵字定義常量
3.3 數(shù)值類型
3.3.1 整型數(shù)值類型
3.3.2 浮點型數(shù)值類型
3.4 布爾類型
3.5 字符串類型
3.5.1 字符類型
3.5.2 字符串類型
3.6 數(shù)組
3.6.1 數(shù)組的聲明與初始化
3.6.2 數(shù)組的使用
3.7 枚舉類型
3.8 用結(jié)構(gòu)體類型描述復(fù)雜的事物
3.8.1 結(jié)構(gòu)體的定義
3.8.2 結(jié)構(gòu)體的使用
3.9 指向內(nèi)存位置的指針
3.9.1 指針就是表示內(nèi)存地址的數(shù)據(jù)類型
3.9.2 指針變量的定義
3.9.3 指針的賦值和使用
第4章 將語句編織成程序
4.1 用運算符對數(shù)據(jù)進(jìn)行運算
4.1.1 用表達(dá)式表達(dá)設(shè)計意圖
4.1.2 算術(shù)運算符
4.1.3 賦值操作符
4.1.4 關(guān)系運算符
4.1.5 邏輯運算符
4.1.6 運算符之間的優(yōu)先順序
4.1.7 將表達(dá)式組織成語句
4.2 條件選擇語句
4.2.1 if語句
4.2.2 并列選擇的switch語句
4.3 循環(huán)控制語句
4.3.1 while循環(huán)
4.3.2 do…while循環(huán)
4.3.3 for循環(huán)
4.3.4 循環(huán)控制:break和continue
4.4 從語句到程序
4.4.1 程序是控制語句串聯(lián)起來的語句
4.4.2 豪華工資統(tǒng)計程序
第5章 用函數(shù)封裝程序功能
5.1 函數(shù)就是一個大“箱子”
5.1.1 函數(shù)的聲明和定義
5.1.2 函數(shù)調(diào)用機制
5.1.3 函數(shù)的聲明與函數(shù)調(diào)用
5.1.4 函數(shù)參數(shù)的傳遞
5.1.5 函數(shù)的返回值
5.2 內(nèi)聯(lián)函數(shù)
5.2.1 用體積換速度的內(nèi)聯(lián)函數(shù)
5.2.2 內(nèi)聯(lián)函數(shù)的使用規(guī)則
5.3 重載函數(shù)
5.3.1 重載函數(shù)的聲明
5.3.2 重載函數(shù)的解析
5.4 函數(shù)設(shè)計的基本規(guī)則
5.4.1 函數(shù)聲明的設(shè)計規(guī)則
5.4.2 函數(shù)體的設(shè)計規(guī)則
第6章 當(dāng)C++愛上面向?qū)ο?br /> 6.1 從結(jié)構(gòu)化設(shè)計到面向?qū)ο蟪绦蛟O(shè)計
6.1.1 “自頂向下,逐步求精”的結(jié)構(gòu)化程序設(shè)計
6.1.2 面向?qū)ο蟪绦蛟O(shè)計
6.1.3 面向?qū)ο蟮娜悍庋b、繼承與多態(tài)
6.2 類:當(dāng)C++愛上面向?qū)ο?br /> 6.2.1 類的聲明和定義
6.2.2 使用類創(chuàng)建對象
6.2.3 構(gòu)造函數(shù)和析構(gòu)函數(shù)
6.2.4 拷貝構(gòu)造函數(shù)
6.2.5 操作符重載
6.2.6 類成員的訪問控制
6.2.7 在友元中訪問類的隱藏信息
6.3 類如何面向?qū)ο?br /> 6.3.1 用類機制實現(xiàn)封裝
6.3.2 用基類和派生類實現(xiàn)繼承
6.3.3 用虛函數(shù)實現(xiàn)多態(tài)
6.4 實戰(zhàn)面向?qū)ο螅汗べY?理系統(tǒng)
6.4.1 從問題描述中發(fā)現(xiàn)對象
6.4.2 分析對象的屬性和行為
6.4.3 實現(xiàn)類的屬性和行為
6.5 高手是這樣煉成的
6.5.1 C++類對象的內(nèi)存模型
6.5.2 指向自身的this指針
第7章 C++世界的奇人異事
7.1 一切指針都是紙老虎:徹底理解指針
7.1.1 指針的運算
7.1.2 靈活的void類型和void類型指針
7.1.3 指向指針的指針
7.1.4 指針在函數(shù)中的應(yīng)用
7.1.5 引用
7.2 程序中的異常處理
7.2.1 異常處理
7.2.2 異常的函數(shù)接口聲明
7.2.3 合理使用異常處理
7.3 編寫更復(fù)雜的C++程序
7.3.1 源文件和頭文件
7.3.2 名字空間
7.3.3 作用域與可見性
7.3.4 編譯預(yù)處理
7.4 高手是這樣煉成的
7.4.1 用宏定義化繁為簡
7.4.2 用typedef定義類型的別名
7.4.3 用const保護數(shù)據(jù)
第3篇 攀登C++世界的高峰
第8章 用STL優(yōu)雅你的程序
8.1 跟STL做朋友
8.1.1 算法 + 容器 + 迭代器 = STL
8.1.2 在程序中使用STL
8.1.3 STL到底好在哪里
8.2 用模板實現(xiàn)通用算法
8.2.1 函數(shù)模板
8.2.2 類模板
8.2.3 模板的實例化
8.2.4 用模板實現(xiàn)通用算法
第9章 STL中的容器管理數(shù)據(jù)
9.1 容器就是STL中的瓶瓶罐罐
9.1.1 操作容器中的數(shù)據(jù)元素
9.1.2 使用迭代器訪問容器中的數(shù)據(jù)元素
9.1.3 容器的使用說明書
9.1.4 如何選擇合適的容器
9.2 vector容器是數(shù)組的最佳替代者
9.2.1 創(chuàng)建并初始化vector對象
9.2.2 vector容器的操作
9.2.3 訪問vector容器中的數(shù)據(jù)
9.3 可以保存鍵值對的map容器
9.3.1 創(chuàng)建并初始化map容器
9.3.2 將數(shù)據(jù)保存到map容器中
9.3.3 根據(jù)鍵找到對應(yīng)的值
第10章 用STL中的通用算法處理數(shù)據(jù)
10.1 STL算法中的“四大幫派”
10.2 容器元素的查找與遍歷
10.2.1 用for_each()算法遍歷容器中的數(shù)據(jù)元素
10.2.2 用find()和find_if()算法實現(xiàn)線性查找
10.3 容器元素的復(fù)制與變換
10.3.1 復(fù)制容器元素:copy()算法
10.3.2 合并容器元素:merge()算法
10.3.3 變換容器元素:transform函數(shù)
10.4 容器元素的排序
10.4.1 使用sort()算法對容器中的數(shù)據(jù)進(jìn)行排序
10.4.2 對排序的規(guī)則進(jìn)行自定義
10.5 實戰(zhàn)STL算法
10.5.1 “算法”老師帶來的一堂別開生面的體育課
10.5.2 刪除容器中的冗余元素
第11章 函數(shù)指針、函數(shù)對象與Lambda表達(dá)式
11.1 函數(shù)指針
11.1.1 函數(shù)指針的聲明與賦值
11.1.2 用函數(shù)指針調(diào)用函數(shù)
11.1.3 用函數(shù)指針實現(xiàn)回調(diào)函數(shù)
11.1.4 將函數(shù)指針應(yīng)用到STL算法中
11.2 函數(shù)對象
11.2.1 定義一個函數(shù)對象
11.2.2 利用函數(shù)對象記住狀態(tài)數(shù)據(jù)
11.3 用Lambda表達(dá)式編寫更簡單的函數(shù)
11.3.1 最簡單直接的函數(shù)表達(dá)形式:Lambda表達(dá)式
11.3.2 Lambda表達(dá)式的語法規(guī)則
11.3.3 Lambda表達(dá)式的復(fù)用
第12章 C++世界的幾件新鮮事
12.1 用右值引用榨干C++的性能
12.1.1 什么是右值
12.1.2 右值引用在函數(shù)返回值上的應(yīng)用
12.1.3 STL算法中被浪費的右值
12.1.4 右值引用如何提高性能
12.2 智能指針shared_ptr
12.2.1 C++的內(nèi)存管理
12.2.2 用聰明的shared_ptr解決內(nèi)存管理問題
12.2.3 智能指針的應(yīng)用場景
12.2.4 shared_ptr的使用
12.2.5 shared_ptr與標(biāo)準(zhǔn)庫容器
12.2.6 對shared_ptr進(jìn)行自定義
12.3 用PPL進(jìn)行多線程開發(fā)
12.3.1 多核給程序設(shè)計帶來的挑戰(zhàn)
12.3.2 PPL帶來免費的午餐
12.3.3 PPL中的并行算法
12.3.4 PPL中的并行任務(wù)
12.3.5 PPL中的并行對象和并行容器
12.3.6 PPL之外的另一種選擇:OpenMP
第13章 找工作就靠它了
13.1 打好基礎(chǔ)
13.1.1 基本概念
13.1.2 函數(shù)
13.1.3 面向?qū)ο笏枷?br /> 13.1.4 類與對象
13.1.5 STL
13.2 積累經(jīng)驗
13.3 考查智力
附錄A 接下來該讀什么書
A.1 開山鼻祖:《C++程序設(shè)計語言》
A.2 初學(xué)者必看:《C++ Primer中文版(第4版)》
A.3 百科全書:《代碼大全,第2版》
A.4 內(nèi)功秘籍:《Effective C++(Third Edition)》
A.5 經(jīng)驗很重要:《C++編程規(guī)范》
后記
編輯推薦
探索C++世界的旅游地圖 生動有趣又不乏實用性 掌握C++世界的運作原理 學(xué)習(xí)C++世界“居民”的思考方式 自由地穿梭于現(xiàn)實世界和C++世界
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載