我的第一本C++書

我的第一本C++書

《我的第一本C++書》:對一個即將出門旅行的人來說,最需要的是一張內容詳盡、生動、實用的旅行地圖。對即將進入神秘、美麗的C++世界的你,最需要的是這本“C++世界地圖冊”。《我的第一本C++書》將帶領你暢遊整個C++世界。還等什麼,讓我們出發吧。

雖然C++語言紛繁複雜的語法規則讓很多學習者望而卻步,但是,在《我的第一本C++書》中,你會發現C++語言的學習也可以如此輕鬆。《我的第一本C++書》沒有孔乙己式地去深究C++語言的語法細節,也沒有重點地去介紹各種高深的C++編程技巧,而是本著簡單實用的原則,通俗易懂地向你介紹C++中最重要、最實用的知識。看完《我的第一本C++書》,你會發現用邏輯控制語句可以把C++語句串珠成鏈;用函式實際上就是把程式裝進一個箱子;當c++語言愛上面向對象思想就有了類與對象;算法就像體育老師,給我們帶來一堂別開生面的算法體育課。《我的第一本C++書》不再是一本枯燥乏味的c++語法介紹書,而是一本通俗易懂的C++故事書,可以讓我們在講故事中輕鬆學會C++語言。

基本介紹

  • 書名:我的第一本C++書
  • 作者:陳良喬
  • ISBN:9787560969954
  • 頁數:376
  • 出版社:華中科技大學出版社
  • 出版時間:2011年5月1日
  • 裝幀:平裝
  • 開本:16
媒體推薦,目錄,作者簡介,

媒體推薦

作者就像一位經驗豐富的導遊一樣,娓娓地向我們介紹了C++世界的旖旎風光。從最基礎的數據類型和函式到最重要的類與標準模板庫,真是橫看成嶺側成峰,遠近高低各不同。
——網友Summer
這本書也太有趣了吧,程式可以做“自我介紹”:程式語句可以像大象一樣被裝進箱子裡成為函式;標準模板庫中的算法更是厲害,可以化身“體育老師”,給我們帶來一堂別開生面的算法體育課。所以,看這本書的時候一定不要喝水,小心噴出來喔。
——網友Interma
企業招聘程式設計師最看重什麼?是編程經驗。可是我們這些在校學生就缺經驗!作者將他的開發經驗傾囊相授。看過這本書,我知道了如何選擇fjoat和double,明白了如何用C0nst來保護數據,也學會了使用標準模板庫,讓程式變得簡單而優雅。現在我可以自豪地說:“哥也是有經驗的人”。
——網友Chjllj
很快C++的最新標準C++0x就會頒布。這本書走在技術發展的潮頭浪尖,向我們介紹了C++0x中最重要的內容,包括右值弓I用、智慧型指針以及針對並行計算的並行模式庫等。如果你不想成為C++語言的“奧特曼”,就來先睹為快吧!
——網友jmcc

目錄

第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 最新標準C++0x讓C++重新煥發活力
1.2.5 C++和C#不得不說的那點事兒
1.2.6 C++世界的五大子語言
1.3 C++世界版圖
1.3.1 Windows系統下的C++開發
1.3.2 Linux系統下的C++開發
1.3.3 嵌入式系統下的C++開發
1.4 如何學好C++
1.4.1 將自然語言轉換為C++程式設計語言
1.4.2 “多讀多寫”是學好C++的不二法門
1.4.3 和Google做朋友
第2章 與C++第一次親密接觸
2.1 一個C++程式的自白
2.1.1 用Visual Studio創建C++程式
2.1.2 以手工方式創建C++程式
2.1.3 C++程式=預編譯指令+程式代碼+注釋
2.1.4 編譯器和連結器
2.1.5 C++程式的執行過程
2.1.6 程式的兩大任務:描述數據與處理數據
2.2 基本輸入/輸出流
2.2.1 標準的輸入和輸出對象
2.2.2 輸出格式控制
2.2.3 讀/寫檔案
2.3 最常用的開發環境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 Code Project和Code Guru
2.4.4 C++百科全書MSDN
第2篇 歡迎來到C++世界
第3章 C++世界眾生相
3.1 C++中的數據類型
3.2 變數和常量
3.2.1 聲明變數
3.2.2 給變數取個好名字
3.2.3 變數初始化
3.2.4 常量
3.2.5 用宏與const關鍵字定義常量
3.3 數值類型
3.3.1 整型數值類型
3.3.2 浮點型數值類型
3.4 布爾類型
3.5 字元串類型
3.5.1 字元類型
3.5.2 字元串類型
3.6 數組
3.6.1 數組的聲明與初始化
3.6.2 數組的使用
3.7 枚舉類型
3.8 用結構體類型描述複雜的事物
3.8.1 結構體的定義
3.8.2 結構體的使用
3.9 指向記憶體位置的指針
3.9.1 指針就是表示記憶體地址的數據類型
3.9.2 指針變數的定義
3.9.3 指針的賦值和使用
第4章 將語句編織成程式
4.1 用運算符對數據進行運算
4.1.1 用表達式表達設計意圖
4.1.2 算術運算符
4.1.3 賦值操作符
4.1.4 關係運算符
4.1.5 邏輯運算符
4.1.6 運算符之間的優先順序
4.1.7 將表達式組織成語句
4.2 條件選擇語句
4.2.1 if語句
4.2.2 並列選擇的switch語句
4.3 循環控制語句
4.3.1 while循環
4.3.2 do…while循環
4.3.3 for循環
4.3.4 循環控制:break和continue
4.4 從語句到程式
4.4.1 程式是控制語句串聯起來的語句
4.4.2 豪華工資統計程式
第5章 用函式封裝程式功能
5.1 函式就是一個大“箱子”
5.1.1 函式的聲明和定義
5.1.2 函式調用機制
5.1.3 函式的聲明與函式調用
5.1.4 函式參數的傳遞
5.1.5 函式的返回值
5.2 內聯函式
5.2.1 用體積換速度的內聯函式
5.2.2 內聯函式的使用規則
5.3 重載函式
5.3.1 重載函式的聲明
5.3.2 重載函式的解析
5.4 函式設計的基本規則
5.4.1 函式聲明的設計規則
5.4.2 函式體的設計規則
第6章 當C++愛上面向對象
6.1 從結構化設計到面向對象程式設計
6.1.1 “自頂向下,逐步求精”的結構化程式設計
6.1.2 面向對象程式設計
6.1.3 面向對象的三座基石:封裝、繼承與多態
6.2 類:當C++愛上面向對象
6.2.1 類的聲明和定義
6.2.2 使用類創建對象
6.2.3 構造函式和析構函式
6.2.4 拷貝構造函式
6.2.5 操作符重載
6.2.6 類成員的訪問控制
6.2.7 在友元中訪問類的隱藏信息
6.3 類如何面向對象
6.3.1 用類機制實現封裝
6.3.2 用基類和派生類實現繼承
6.3.3 用虛函式實現多態
6.4 實戰面向對象:工資管理系統
6.4.1 從問題描述中發現對象
6.4.2 分析對象的屬性和行為
6.4.3 實現類的屬性和行為
6.5 高手是這樣煉成的
6.5.1 C++類對象的記憶體模型
6.5.2 指向自身的this指針
第7章 C++世界的奇人異事
7.1 一切指針都是紙老虎:徹底理解指針
7.1.1 指針的運算
7.1.2 靈活的void類型和void類型指針
7.1.3 指向指針的指針
7.1.4 指針在函式中的套用
7.1.5 引用
7.2 程式中的異常處理
7.2.1 異常處理
7.2.2 異常的函式接口聲明
7.2.3 合理使用異常處理
7.3 編寫更複雜的C++程式
7.3.1 源檔案和頭檔案
7.3.2 名字空間
7.3.3 作用域與可見性
7.3.4 編譯預處理
7.4 高手是這樣煉成的
7.4.1 用宏定義化繁為簡
7.4.2 用typedef定義類型的別名
7.4.3 用const保護數據
第3篇 攀登C++世界的高峰
第8章 用STL優雅你的程式
8.1 跟STL做朋友
8.1.1 算法+容器+疊代器=STL
8.1.2 在程式中使用STL
8.1.3 STL到底好在哪裡
8.2 用模板實現通用算法
8.2.1 函式模板
8.2.2 類模板
8.2.3 模板的實例化
8.2.4 用模板實現通用算法
第9章 STL中的容器管理數據
9.1 容器就是STL中的瓶瓶罐罐
9.1.1 操作容器中的數據元素
9.1.2 使用疊代器訪問容器中的數據元素
9.1.3 容器的使用說明書
9.1.4 如何選擇合適的容器
9.2 vector容器是數組的最佳替代者
9.2.1 創建並初始化vector對象
9.2.2 vector容器的操作
9.2.3 訪問vector容器中的數據
9.3 可以保存鍵值對的map容器
9.3.1 創建並初始化map容器
9.3.2 將數據保存到map容器中
9.3.3 根據鍵找到對應的值
第10章 用STL中的通用算法處理數據
10.1 STL算法中的“四大幫派”
10.2 容器元素的查找與遍歷
10.2.1 用for_each()算法遍歷容器中的數據元素
10.2.2 用find()和find_if()算法實現線性查找
10.3 容器元素的複製與變換
10.3.1 複製容器元素:copy()算法
10.3.2 合併容器元素:merge()算法
10.3.3 變換容器元素:transform函式
10.4 容器元素的排序
10.4.1 使用sort()算法對容器中的數據進行排序
10.4.2 對排序的規則進行自定義
10.5 實戰STL算法
10.5.1 “算法”老師帶來的一堂別開生面的體育課
10.5.2 刪除容器中的冗餘元素
第11章 函式指針、函式對象與Lambda表達式
11.1 函式指針
11.1.1 函式指針的聲明與賦值
11.1.2 用函式指針調用函式
11.1.3 用函式指針實現回調函式
11.1.4 將函式指針套用到STL算法中
11.2 函式對象
11.2.1 定義一個函式對象
11.2.2 利用函式對象記住狀態數據
11.3 用Lambda表達式編寫更簡單的函式
11.3.1 最簡單直接的函式表達形式:Lambda表達式
11.3.2 Lambda表達式的語法規則
11.3.3 Lambda表達式的復用
第12章 C++世界的幾件新鮮事
12.1 用右值引用榨乾C++的性能
12.1.1 什麼是右值
12.1.2 右值引用在函式返回值上的套用
12.1.3 STL算法中被浪費的右值
12.1.4 右值引用如何提高性能
12.2 智慧型指針shared_ptr
12.2.1 C++的記憶體管理
12.2.2 用聰明的shared_ptr解決記憶體管理問題
12.2.3 智慧型指針的套用場景
12.2.4 shared_ptr的使用
12.2.5 shared_ptr與標準庫容器
12.2.6 對shared_ptr進行自定義
12.3 用PPL進行多執行緒開發
12.3.1 多核給程式設計帶來的挑戰
12.3.2 PPL帶來免費的午餐
12.3.3 PPL中的並行算法
12.3.4 PPL中的並行任務
12.3.5 PPL中的並行對象和並行容器
12.3.6 PPL之外的另一種選擇:Open MP
第13章 找工作就靠它了
13.1 打好基礎
13.1.1 基本概念
13.1.2 函式
13.1.3 面向對象思想
13.1.4 類與對象
13.1.5 STL
13.2 積累經驗
13.3 考查智力
附錄A 接下來該讀什麼書
A.1 開山鼻祖:《C++程式設計語言》
A.2 初學者必看:《C++Primer中文版(第4版)》
A.3 百科全書:《代碼大全,第2版》
A.4 內功秘籍:《EffectiveC++(ThirdEdition)》
A.5 經驗很重要:《C++編程規範》
後記

作者簡介

陳良喬,程式設計師、自由撰稿人,畢業於西安交通大學。敏而好學,樂於分享,連續六年獲得微軟MVP稱號。因撰寫一系列Visual Studio2010技術文章和Windows7開發技術文章,2010年又獲“MSDN原創之星”稱號。參與微軟中國Visual C++深度體驗圓桌會議,終獲得Visual Studio貢獻水晶獎盃。平素喜好新鮮事物,但決非新潮技術的追捧者,至今還陷在設計模式、面向對象方法之中,不能自拔。好舞文弄墨,傳播心得。

相關詞條

熱門詞條

聯絡我們