白話C++之練功 版權(quán)信息
- ISBN:9787512429307
- 條形碼:9787512429307 ; 978-7-5124-2930-7
- 裝幀:一般膠版紙
- 冊數(shù):暫無
- 重量:暫無
- 所屬分類:>>
白話C++之練功 本書特色
《白話C 》分“練功”和“練武”兩冊。“練功”主講編程基礎(chǔ)知識、C 語言語法(含C 11、14等)及多種編程范式。具體包括:大白話講解計算機架構(gòu)、進程、內(nèi)存、二進制等編程概念;手把手教復(fù)雜編程環(huán)境的安裝應(yīng)用;快速感受C 語言概貌及圖形界面、數(shù)據(jù)庫、網(wǎng)絡(luò)、多線程等功能庫;深入淺出地講解C 語法、標(biāo)準(zhǔn)庫常用組件及面向過程、基于對象、面向?qū)ο、泛型等四種編程范式的演化與對比。本書借助生活概念幫助用戶理解編程,巧妙安排知識交叉,讓讀者不受限于常見的控制臺下編程,快速感受C 編程的樂趣,提升學(xué)習(xí)動力。本書適合作為零基礎(chǔ)C 編程學(xué)習(xí)從入門到深造的課程教材。本書也是《白話C 之練武》的學(xué)習(xí)基礎(chǔ)。“練武”的重點內(nèi)容有:標(biāo)準(zhǔn)庫(STL)、準(zhǔn)標(biāo)庫(boost)、圖形界面庫編程(wxWidgets)、數(shù)據(jù)庫編程、緩存系統(tǒng)編程、網(wǎng)絡(luò)庫編程和多媒體游戲編程等。
白話C++之練功 內(nèi)容簡介
本書從什么叫做計算機的“硬件、軟件”、什么叫做“程序”講起, 并在涉及C++具體語法之前, 詳細講解內(nèi)存與程序的關(guān)系, 內(nèi)容包括: 啟蒙 ; 準(zhǔn)備 ; 感受 ; 基礎(chǔ) ; IDE-Code::Blocks語言 ; 面向?qū)ο?; 泛型。
白話C++之練功 目錄
第1章啟蒙11.1開始1
1.2什么是計算機4
1.2.1“馮·諾依曼”版4
1.2.2“白話 C ”版5
1.3什么是硬件、軟件6
1.4什么是程序7
1.4.1什么是指令7
1.4.2指令兼容8
1.4.3程序=指令的邏輯組合8
1.4.4程序vs軟件9
1.5什么是編程語言9
1.5.1機器語言10
1.5.2機器語言的“字母”10
1.5.3二進制(基礎(chǔ))11
1.5.4匯編語言11
1.5.5高級語言12
1.5.6編程思維13
1.5.7從C到C 14
1.6什么是IDE15
1.7你是程序員17
1.8出發(fā)贈言19
第2章準(zhǔn)備20
2.1基礎(chǔ)知識20
2.1.1開源協(xié)議20
2.1.2“庫”是什么20
2.1.3“庫”長什么樣子21
2.1.4學(xué)習(xí)哪些“庫”22
2.1.5準(zhǔn)備安裝目錄22
2.1.6更多支持22
2.2安裝IDE——Code::Blocks23
2.2.1檢查MinGW環(huán)境23
2.2.2安裝Code::Blocks23
2.2.3升級Code::Blocks24
2.2.4安裝MinGWw6424
2.2.5試運行25
2.2.6配置IDE26
2.3系統(tǒng)編譯環(huán)境變量29
2.4安裝wxWidgets30
2.4.1下載31
2.4.2編譯31
2.4.3檢查32
2.5安裝boost33
2.5.1下載33
2.5.2輔助工具34
2.5.3編譯34
2.5.4檢查35
2.6安裝MySQL35
2.6.1搞清楚“位數(shù)”36
2.6.2安裝MySQL37
2.6.3安裝MySQL管理客戶端38
2.6.4安裝MySQL 32位C語言客戶端庫39
2.7安裝MySQL 39
2.7.1輔助工具39
2.7.2下載39
2.7.3編譯39
2.7.4安裝40
2.8配置Code::Blocks全局變量41
2.8.1新建全局變量集:d2school42
2.8.2全局路徑變量wx42
2.8.3全局路徑變量boost43
2.8.4全局路徑變量mysql44
2.8.5全局路徑變量mysqlpp44
第3章感受(一)45
3.1Hello
world經(jīng)典版45
3.1.1向?qū)Э刂婆_項目45
3.1.2初識代碼47
3.1.3頭文件48
3.1.4標(biāo)準(zhǔn)輸出cout50
3.1.5名字空間51
3.1.6函數(shù)52
3.1.7主函數(shù)54
3.1.8注釋55
3.2Hello
world中文版56
3.2.1“字符集”和“編碼”56
3.2.2問題與解決56
3.3Hello
world函數(shù)版58
3.3.1定義函數(shù)58
3.3.2調(diào)用函數(shù)58
3.3.3重復(fù)調(diào)用59
3.3.4帶參函數(shù)59
3.4Hello
world交互版61
3.4.1變量61
3.4.2常量63
3.4.3數(shù)據(jù)類型63
3.4.4定義變量64
3.4.5完成交互64
3.5Hello
world分支版65
3.5.1流程控制ifelse66
3.5.2修改Hello函數(shù)——區(qū)別對待66
3.5.3多級ifelse67
3.5.4常見關(guān)系、邏輯操作符67
3.6Hello
world循環(huán)版68
3.6.1流程控制while68
3.6.2修改main函數(shù)——反復(fù)操作69
3.7Hello
Object生死版70
3.7.1定義對象類型71
3.7.2創(chuàng)建對象72
3.7.3構(gòu)造函數(shù)73
3.7.4析構(gòu)函數(shù)74
3.7.5對象生命周期74
3.7.6對象與內(nèi)存78
3.7.7對象可見區(qū)域80
3.8Hello
Object成員版81
3.8.1成員數(shù)據(jù)84
3.8.2成員函數(shù)85
3.9Hello
Object派生版86
3.9.1使用分支86
3.9.2為何派生87
3.9.3如何派生88
3.9.4定義“美人類”88
3.9.5使用“美人類”89
3.9.6變和不變89
3.9.7派生類的生死過程90
3.10Hello
Object多態(tài)版92
3.10.1虛函數(shù)93
3.10.2虛“析構(gòu)函數(shù)”95
3.10.3應(yīng)用虛函數(shù)96
3.10.4多態(tài)vs.非多態(tài)99
3.11Hello
Object封裝版99
3.11.1什么是封裝99
3.11.2類型即封裝101
3.11.3公開、保護、私有102
3.11.4class
vs struct104
3.11.5封裝應(yīng)用示例105
3.11.6常量成員函數(shù)109
3.12Hello
STL向量篇110
3.12.1基礎(chǔ)111
3.12.2常用接口112
3.12.3遍歷113
3.12.4實例:選美大賽管理系統(tǒng)115
3.13Hello
STL鏈表篇123
3.13.1基礎(chǔ)124
3.13.2迭代器/iterator概念124
3.13.3常用函數(shù)1126
3.13.4常用函數(shù)2128
3.13.5常量迭代器130
3.13.6遍歷list容器131
3.13.7實例:成績管理系統(tǒng)1132
3.14Hello
STL算法篇137
3.14.1函數(shù)對象139
3.14.2自定義查找算法141
3.14.3泛化查找算法143
3.14.4標(biāo)準(zhǔn)庫查找算法146
3.14.5標(biāo)準(zhǔn)庫排序算法147
3.14.6實例:成績管理系統(tǒng)2148
3.15Hello
STL文件篇160
3.15.1寫文件161
3.15.2讀文件163
3.15.3帶格式讀取164
3.15.4實例:成績管理系統(tǒng)3165
第4章感受(二)170
4.1Hello
GUI基礎(chǔ)篇170
4.1.1C::B文件默認編碼170
4.1.2wxWidgets項目向?qū)?71
4.1.3界面設(shè)計172
4.1.4編譯運行174
4.1.5發(fā)布程序174
4.2Hello
GUI布局篇175
4.2.1wxSmith基礎(chǔ)175
4.2.2wxBoxSizer基礎(chǔ)179
4.2.3布局修改實例180
4.2.4掛接事件183
4.3Hello
Internet184
4.3.1創(chuàng)建項目185
4.3.2界面設(shè)計185
4.3.3編寫代碼186
4.4Hello
Database188
4.4.1基本需求189
4.4.2準(zhǔn)備數(shù)據(jù)189
4.4.3創(chuàng)建工程190
4.4.4編寫代碼192
第5章基礎(chǔ)198
5.1從代碼到程序198
5.1.1編譯機制198
5.1.2解釋機制200
5.1.3虛擬機機制201
5.2構(gòu)建C 程序202
5.2.1預(yù)編譯202
5.2.2編譯205
5.2.3鏈接206
5.2.4手工構(gòu)建208
5.3項目/Project209
5.3.1項目文件209
5.3.2源文件、頭文件210
5.3.3使用頭文件211
5.3.4庫文件215
5.4進程與內(nèi)存216
5.4.1什么叫進程217
5.4.2進程的內(nèi)存空間217
5.4.3內(nèi)存分配測試程序218
5.5內(nèi)存分段220
5.5.1代碼段221
5.5.2數(shù)據(jù)段和“全局?jǐn)?shù)據(jù)”221
5.5.3棧內(nèi)存223
5.5.4堆內(nèi)存224
5.6CPU、寄存器225
5.7線程227
5.8數(shù)據(jù)與內(nèi)存230
5.8.1地址、尺寸、值、類型230
5.8.2取址、取尺寸、取值、取類型233
5.8.3指針——裝著地址的變量235
5.8.4堆數(shù)據(jù)與內(nèi)存237
5.8.5數(shù)組數(shù)據(jù)239
5.8.6堆數(shù)組與內(nèi)存240
5.8.7常量與內(nèi)存245
5.8.8二維數(shù)組與內(nèi)存247
5.8.9數(shù)組綜合練習(xí)248
5.8.10聲明、定義、實現(xiàn)251
5.9進制(一)258
5.9.1初識二進制258
5.9.2正整數(shù)和零259
5.9.3負整數(shù)(原碼、反碼、補碼)259
5.9.4無符號數(shù)vs有符號數(shù)262
5.10進制(二)263
5.10.1十六進制263
5.10.2八進制265
5.10.3進制換算266
5.10.4浮點數(shù)267
第6章IDE——Code::Blocks271
6.1窗口布局271
6.1.1邊欄271
6.1.2工具欄272
6.1.3布局保存273
6.2環(huán)境設(shè)置273
6.2.1常規(guī)設(shè)置/General Settings273
6.2.2視圖/View274
6.2.3多頁面板/Notebooks appearance274
6.2.4禁用的對話框/Disabled dialogs275
6.2.5內(nèi)置游戲/C::B Games275
6.2.6自動保存/Autosave275
6.2.7環(huán)境變量/Environment variables276
6.2.8頭文件自動引入/HeaderFixup configuration276
6.2.9幫助文件/Help files277
6.2.10待辦事件/Todo list278
6.3編輯器設(shè)置279
6.3.1常規(guī)設(shè)置/General Settings279
6.3.2代碼折疊/Folding282
6.3.3邊界和光標(biāo)符/Margins and caret282
6.3.4語法高亮/Syntax highlighting282
6.3.5簡寫詞/Abbreviations282
6.3.6代碼格式化工具/Source formatter283
6.3.7代碼完成/Code completion284
6.3.8快捷鍵/Keyboard shortcuts284
6.3.9拼寫檢查/Spell Checker287
6.3.10wxSmith配置287
6.4編譯器全局設(shè)置287
6.4.1編譯器選項/Compiler settings288
6.4.2其他設(shè)置/Other settings288
6.4.3構(gòu)建配置/Build options288
6.5調(diào)試器全局設(shè)置288
6.6全局路徑變量289
6.7項目管理290
6.7.1項目組織290
6.7.2項目向?qū)?92
6.7.3項目文件293
6.8項目構(gòu)建選項294
6.8.1公共配置和目標(biāo)配置294
6.8.2項目編譯器設(shè)置/Compiler Settings295
6.8.3項目鏈接器設(shè)置/Linker settings296
6.8.4項目搜索路徑/Search directories298
6.8.5項目構(gòu)建附加步驟/Prepost build steps300
6.8.6項目定制變量/Custom variables300
6.9項目屬性300
6.9.1項目設(shè)置/Project settings300
6.9.2構(gòu)建目標(biāo)/Build targets301
6.10項目實踐303
6.10.1構(gòu)建動態(tài)庫303
6.10.2構(gòu)建靜態(tài)庫304
6.10.3主項目可執(zhí)行程序305
6.10.4配置依賴庫305
6.10.5設(shè)置項目間依賴關(guān)系306
6.11調(diào)試307
6.11.1啟動調(diào)試307
6.11.2設(shè)置斷點308
6.11.3單步運行309
6.11.4觀察數(shù)據(jù)309
6.11.5單步進入310
6.11.6單步跳出311
6.11.7其他步進指令311
6.11.8定位錯誤311
6.11.9中止調(diào)試312
第7章語言313
7.1字面量313
7.1.1整數(shù)字面量314
7.1.2浮點數(shù)字面量315
7.1.3空指針字面量315
7.1.4布爾值字面量316
7.1.5字符字面量317
7.1.6字符串字面量322
7.1.7枚舉字面量323
7.1.8宏替換325
7.1.9自定義字面量326
7.2類型327
7.2.1基本概念327
7.2.2整型329
7.2.3浮點型330
7.2.4字符類型331
7.2.5布爾類型332
7.2.6空類型333
7.2.7類/結(jié)構(gòu)334
7.2.8枚舉類型338
7.2.9類型別名344
7.3類型基礎(chǔ)行為345
7.3.1定義345
7.3.2初始化行為348
7.3.3初始化類成員356
7.3.4復(fù)制構(gòu)造行為361
7.3.5賦值行為366
7.3.6轉(zhuǎn)換行為371
7.3.7轉(zhuǎn)移行為380
7.3.8析構(gòu)行為384
7.4變量和常量385
7.4.1變或不變385
7.4.2常量成員數(shù)據(jù)386
7.4.3常量成員函數(shù)387
7.5引用388
7.5.1定義引用390
7.5.2常量引用392
7.5.3引用傳遞393
7.5.4右值引用395
7.6指針401
7.6.1定義指針401
7.6.2初始化指針401
7.6.3取值與成員訪問403
7.6.4釋放指針404
7.6.5常量指針406
7.6.6指針的指針408
7.7數(shù)組409
7.7.1初始化數(shù)組410
7.7.2常量數(shù)組410
7.7.3數(shù)組間復(fù)制數(shù)據(jù)411
7.7.4數(shù)組退化411
7.7.5字符數(shù)組和字符串413
7.7.6多維數(shù)組415
7.7.7指針和數(shù)組417
7.7.8數(shù)組類型的別名420
7.8STL常用類型420
7.8.1std::string/wstring422
7.8.2std::list424
7.8.3std::vector426
7.8.4std::array430
7.8.5std::map433
7.8.6std::ofstream437
7.8.7std::ifstream439
7.8.8std::stringstream441
7.8.9智能指針442
7.9生存期、作用域、可見性、訪問限定451
7.9.1基本概念451
7.9.2聲明453
7.9.3名字空間455
7.9.4類型定義作用域469
7.10函數(shù)477
7.10.1函數(shù)作用域477
7.10.2自由函數(shù)、成員函數(shù)478
7.10.3函數(shù)聲明與定義478
7.10.4函數(shù)入?yún)?79
7.10.5函數(shù)返回值489
7.10.6函數(shù)靜態(tài)數(shù)據(jù)503
7.10.7遞歸調(diào)用504
7.10.8函數(shù)重載505
7.10.9操作符重載509
7.10.10內(nèi)聯(lián)函數(shù)512
7.10.11主函數(shù)514
7.10.12函數(shù)指針515
7.11Lambda函數(shù)519
7.11.1基本概念519
7.11.2入?yún)⑴c返回522
7.11.3捕獲/capture523
7.12操作符與表達式527
7.12.1算術(shù)操作528
7.12.2基礎(chǔ)操作529
7.12.3關(guān)系操作530
7.12.4邏輯操作531
7.12.5位操作533
7.12.6自運算536
7.12.7逗號操作符538
7.12.8取址、取值539
7.12.9成員訪問540
7.12.10指針偏移計算540
7.12.11數(shù)組運算543
7.13語句與流程544
7.13.1簡單語句544
7.13.2復(fù)合語句544
7.13.3if545
7.13.4switch549
7.13.5while553
7.13.6dowhile556
7.13.7for562
7.13.8break/continue567
7.13.9goto569
7.13.10綜合練習(xí)570
7.14模板580
7.14.1基本概念580
7.14.2函數(shù)模板581
7.14.3顯式指定模板參數(shù)582
7.14.4函數(shù)模板示例583
7.14.5類模板585
7.14.6成員函數(shù)模板587
7.14.7標(biāo)準(zhǔn)庫函數(shù)模板示例588
7.14.8模板代碼編譯591
7.15異常593
7.15.1斧頭幫的異常594
7.15.2錯誤VS異常594
7.15.3基本語法599
7.15.4示例:斧頭幫行動異常版601
7.15.5異常再拋出603
7.15.6捕獲任意類型異常606
7.15.7函數(shù)異常規(guī)格607
7.15.8函數(shù)自我捕獲異常608
7.15.9構(gòu)建異常“家族”610
7.15.10標(biāo)準(zhǔn)庫異常類613
7.16并行流程615
7.16.1多線程615
7.16.2線程同步互斥體619
7.16.3規(guī)避死鎖622
7.16.4使用守護鎖623
7.16.5實例:并行累加5千萬個數(shù)624
第8章面向?qū)ο?34
8.1抽象634
8.1.1概念635
8.1.2難點637
8.1.3要素639
8.2封裝643
8.2.1不變式645
8.2.2原則647
8.2.3“不變式”實例649
8.2.4從關(guān)系到狀態(tài)655
8.2.5類型即封裝656
8.2.6類型默認行為658
8.2.7this指針660
8.2.8訪問控制664
8.2.9冗余保護664
8.2.10構(gòu)造與資源初始化666
8.2.11析構(gòu)與資源釋放673
8.2.12復(fù)制行為定制675
8.2.13特定行為定制680
8.2.14定制類型轉(zhuǎn)換686
8.2.15轉(zhuǎn)移操作689
8.2.16靜態(tài)成員689
8.2.17常量成員693
8.2.18嵌套類694
8.2.19友元696
8.2.20回歸C的封裝702
8.2.21進階思考709
8.3派生735
8.3.1語法基礎(chǔ)738
8.3.2受保護的741
8.3.3派生方式744
8.3.4派生類的構(gòu)造746
8.3.5派生類的析構(gòu)750
8.3.6多重派生751
8.3.7派生類與作用域755
8.4基于對象例程759
8.4.1INI文件簡介760
8.4.2面向過程的設(shè)計761
8.4.3基于對象的設(shè)計767
8.4.4復(fù)用實現(xiàn)的派生775
8.5多態(tài)779
8.5.1“什么”和“為什么”779
8.5.2接口約定782
8.5.3虛函數(shù)785
8.5.4“多態(tài)”實例786
8.6OO設(shè)計原則792
8.6.1isa關(guān)系792
8.6.2抽象、抽象、再抽象795
8.6.3高內(nèi)聚低耦合797
8.6.4明確數(shù)據(jù)邊界800
8.6.5強化數(shù)據(jù)不變性803
8.6.6層次與模塊808
8.6.7框架型基類809
8.7綜合練習(xí)815
8.7.1工資發(fā)放練習(xí)815
8.7.2射擊游戲的需求815
8.7.3小小進銷存的需求817
第9章泛型820
9.1泛型概念820
9.2基礎(chǔ)回顧820
9.2.1函數(shù)模板820
9.2.2類模板822
9.2.3成員函數(shù)模板823
9.3模板實例化825
9.3.1只幫一次忙825
9.3.2潛在匹配條件828
9.3.3顯式指定類型829
9.3.4類模板實例化831
9.3.5模板內(nèi)符號身份確定832
9.3.6非類型模板參數(shù)835
9.3.7模板參數(shù)默認值838
9.4泛型應(yīng)用實例838
9.4.1CStyle類型轉(zhuǎn)換模板838
9.4.2Pair839
9.4.3AutoPtr842
9.4.4RangeArray849
9.4.5鏈表結(jié)構(gòu)856
9.5泛型特化872
9.5.1函數(shù)模板特化872
9.5.2類模板特化基礎(chǔ)876
9.5.3局部特化的花樣878
9.5.4全特化880
參考文獻881
展開全部
白話C++之練功 作者簡介
莊嚴(yán),筆名南郁;20年IT從業(yè)經(jīng)歷,從一線研發(fā)人員到企業(yè)副總工、技術(shù)總監(jiān)。雖然不同崗位有不同職責(zé),但從未放棄過編程。編寫過嵌入式、字處理軟件、語言解釋器、手機應(yīng)用、大型分布式網(wǎng)絡(luò)服務(wù)和互聯(lián)網(wǎng)商城等軟件系統(tǒng),F(xiàn)為程知信息公司創(chuàng)始人,致力于將自身的技術(shù)、學(xué)習(xí)過程、成長歷程、對內(nèi)對外的技術(shù)培訓(xùn)、大學(xué)院校培訓(xùn)課程以及常年參與技術(shù)員面試的心得體會、經(jīng)驗教訓(xùn)形成相關(guān)課程。