C++17入門經(jīng)典(第5版)_第1頁(yè)
C++17入門經(jīng)典(第5版)_第2頁(yè)
C++17入門經(jīng)典(第5版)_第3頁(yè)
C++17入門經(jīng)典(第5版)_第4頁(yè)
C++17入門經(jīng)典(第5版)_第5頁(yè)
已閱讀5頁(yè),還剩516頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

C++17入門經(jīng)典(第5版)目錄第1章基本概念11.1現(xiàn)代C++11.2標(biāo)準(zhǔn)庫(kù)21.3C++程序概念21.3.1源文件和頭文件31.3.2注釋和空白31.3.3預(yù)處理指令和標(biāo)準(zhǔn)庫(kù)頭文件31.3.4函數(shù)31.3.5語(yǔ)句41.3.6數(shù)據(jù)的輸入輸出41.3.7return語(yǔ)句51.3.8名稱空間51.3.9名稱和關(guān)鍵字61.4類和對(duì)象61.5模板61.6代碼的表示樣式和編程風(fēng)格71.7創(chuàng)建可執(zhí)行文件71.8過(guò)程化編程和面向?qū)ο缶幊?1.9表示數(shù)字91.9.1二進(jìn)制數(shù)91.9.2十六進(jìn)制數(shù)101.9.3負(fù)的二進(jìn)制數(shù)111.9.4八進(jìn)制數(shù)121.9.5Big-Endian和Little-Endian系統(tǒng)121.9.6浮點(diǎn)數(shù)131.10表示字符141.10.1ASCII碼141.10.2UCS和Unicode141.11C++源字符151.12本章小結(jié)171.13練習(xí)17第2章基本數(shù)據(jù)類型192.1變量、數(shù)據(jù)和數(shù)據(jù)類型192.1.1定義整型變量192.1.2零初始化222.1.3定義有固定值的變量222.2整型字面量222.2.1十進(jìn)制整型字面量232.2.2十六進(jìn)制的整型字面量232.2.3八進(jìn)制的整型字面量242.2.4二進(jìn)制的整型字面量242.3整數(shù)的計(jì)算242.4賦值運(yùn)算262.5sizeof運(yùn)算符292.6整數(shù)的遞增和遞減302.7定義浮點(diǎn)變量312.8浮點(diǎn)字面量322.9浮點(diǎn)數(shù)的計(jì)算322.9.1缺點(diǎn)322.9.2無(wú)效的浮點(diǎn)結(jié)果332.9.3數(shù)學(xué)函數(shù)332.10輸出流的格式化352.11混合的表達(dá)式和類型轉(zhuǎn)換372.12顯式類型轉(zhuǎn)換382.13確定數(shù)值的上下限402.14使用字符變量412.15auto關(guān)鍵字422.16本章小結(jié)432.17練習(xí)43第3章處理基本數(shù)據(jù)類型453.1運(yùn)算符的優(yōu)先級(jí)和相關(guān)性453.2位運(yùn)算符463.2.1移位運(yùn)算符473.2.2位模式下的邏輯運(yùn)算493.3枚舉數(shù)據(jù)類型533.4數(shù)據(jù)類型的別名553.5變量的生存期563.6全局變量563.7本章小結(jié)593.8練習(xí)59第4章決策614.1比較數(shù)據(jù)值614.1.1應(yīng)用比較運(yùn)算符624.1.2比較浮點(diǎn)數(shù)值634.2if語(yǔ)句634.2.1嵌套的if語(yǔ)句654.2.2字符分類和轉(zhuǎn)換664.3if-else語(yǔ)句684.3.1嵌套的if-else語(yǔ)句694.3.2理解嵌套的if語(yǔ)句704.4邏輯運(yùn)算符714.4.1邏輯與運(yùn)算符714.4.2邏輯或運(yùn)算符714.4.3邏輯非運(yùn)算符724.4.4組合\t"/item/C%2B%2B17%E5%85%A5%E9%97%A8%E7%BB%8F%E5%85%B8%EF%BC%88%E7%AC%AC5%E7%89%88%EF%BC%89/_blank"邏輯運(yùn)算符724.4.5對(duì)整數(shù)操作數(shù)應(yīng)用邏輯運(yùn)算符734.4.6對(duì)比邏輯運(yùn)算符與位運(yùn)算符744.5條件運(yùn)算符754.6switch語(yǔ)句764.7語(yǔ)句塊和變量作用域814.8本章小結(jié)824.9練習(xí)83第5章數(shù)組和循環(huán)855.1數(shù)組855.2理解循環(huán)875.3for循環(huán)875.4避免幻數(shù)895.5用初始化列表定義數(shù)組的大小905.6確定數(shù)組的大小905.7用浮點(diǎn)數(shù)控制for循環(huán)915.8使用更復(fù)雜的for循環(huán)控制表達(dá)式935.9基于范圍的for循環(huán)945.10while循環(huán)955.11do-while循環(huán)965.12嵌套的循環(huán)985.13跳過(guò)循環(huán)迭代1005.14循環(huán)的中斷1015.15使用無(wú)符號(hào)整數(shù)控制for循環(huán)1035.16字符數(shù)組1045.17多維數(shù)組1075.17.1初始化多維數(shù)組1085.17.2多維字符數(shù)組1105.18在運(yùn)行期間給數(shù)組分配內(nèi)存空間1115.19數(shù)組的替代品1125.19.1使用array容器1135.19.2使用std::vector容器1165.20本章小結(jié)1195.21練習(xí)120第6章指針和引用1216.1什么是指針1216.2地址運(yùn)算符1236.3間接運(yùn)算符1246.4為什么使用指針1256.5char類型的指針1256.6常量指針和指向常量的指針1286.7指針和數(shù)組1306.7.1指針的算術(shù)運(yùn)算1306.7.2使用數(shù)組名的指針表示法1326.8動(dòng)態(tài)內(nèi)存分配1336.8.1棧和自由存儲(chǔ)區(qū)1346.8.2運(yùn)算符new和delete1346.8.3數(shù)組的動(dòng)態(tài)內(nèi)存分配1356.9通過(guò)指針選擇成員1386.10動(dòng)態(tài)內(nèi)存分配的危險(xiǎn)1386.10.1懸掛指針和多次釋放1386.10.2分配與釋放的不匹配1396.10.3內(nèi)存泄漏1396.10.4自由存儲(chǔ)區(qū)的碎片1396.11內(nèi)存分配的黃金準(zhǔn)則1406.12原始指針和智能指針1406.12.1使用unique_ptr指針1416.12.2使用shared_ptr指針1436.13理解引用1466.13.1定義引用1466.13.2在基于范圍的for循環(huán)中使用引用變量1476.14本章小結(jié)1486.15練習(xí)148第7章操作字符串1517.1更強(qiáng)大的string類1517.1.1定義string對(duì)象1517.1.2string對(duì)象的操作1547.1.3訪問(wèn)字符串中的字符1577.1.4訪問(wèn)子字符串1587.1.5比較字符串1587.1.6搜索字符串1627.1.7修改字符串1677.1.8對(duì)比std::string與std::vector1707.2將字符串轉(zhuǎn)換為數(shù)字1717.3字符串流1717.4國(guó)際字符串1727.4.1存儲(chǔ)wchar_t字符的字符串1727.4.2包含Unicode字符串的對(duì)象1737.5原始字符串字面量1737.6本章小結(jié)1747.7練習(xí)175第8章定義函數(shù)1778.1程序的分解1778.1.1類中的函數(shù)1778.1.2函數(shù)的特征1788.2定義函數(shù)1788.2.1函數(shù)體1798.2.2返回值1808.2.3函數(shù)聲明1818.3給函數(shù)傳送實(shí)參1828.3.1按值傳送1828.3.2按引用傳送1878.3.3字符串視圖:新的conststring引用1928.4默認(rèn)實(shí)參值1948.(5main)函數(shù)的實(shí)參1968.6從函數(shù)中返回值1968.6.1返回指針1978.6.2返回引用1998.6.3對(duì)比返回值與輸出參數(shù)2008.6.4返回類型推斷2008.6.5使用可選值2018.7靜態(tài)變量2038.8內(nèi)聯(lián)函數(shù)2048.9函數(shù)重載2048.9.1重載和指針參數(shù)2068.9.2重載和引用參數(shù)2068.9.3重載和const參數(shù)2078.9.4重載和默認(rèn)實(shí)參值2088.10遞歸2098.10.1基本示例2098.10.2遞歸算法2108.11本章小結(jié)2158.12練習(xí)216第9章函數(shù)模板2199.1函數(shù)模板2199.2創(chuàng)建函數(shù)模板的實(shí)例2209.3模板類型參數(shù)2219.4顯式指定模板實(shí)參2219.5函數(shù)模板的特例2229.6函數(shù)模板和重載2229.7帶有多個(gè)參數(shù)的函數(shù)模板2249.8模板的返回類型推斷2259.8.1decltype和拖尾返回類型2259.8.2對(duì)比decltype(auto)、拖尾(decltype)與auto2269.9模板參數(shù)的默認(rèn)值2269.10非類型的模板參數(shù)2279.11本章小結(jié)2299.12練習(xí)229第10章程序文件和預(yù)處理指令23110.1理解轉(zhuǎn)換單元23110.1.1單一定義規(guī)則23110.1.2程序文件和鏈接23210.1.3確定名稱的鏈接屬性23210.1.4外部函數(shù)23310.1.5外部變量23310.1.6內(nèi)部名稱23510.2預(yù)處理源代碼23610.3定義預(yù)處理宏23610.3.1定義類似于函數(shù)的宏23810.3.2取消宏的定義23910.4包含頭文件24010.4.1防止重復(fù)頭文件的內(nèi)容24010.4.2第一個(gè)頭文件24110.5名稱空間24210.5.1全局名稱空間24210.5.2定義名稱空間24210.5.3應(yīng)用using聲明24410.5.4函數(shù)和名稱空間24410.5.5未命名的名稱空間24610.5.6嵌套的名稱空間24710.5.7名稱空間的別名24810.6邏輯預(yù)處理指令24810.6.1邏輯#if指令24810.6.2測(cè)試指定標(biāo)識(shí)符的值24910.6.3多個(gè)代碼選擇24910.6.4標(biāo)準(zhǔn)的預(yù)處理宏25010.6.5檢查頭文件是否可用25110.7調(diào)試方法25110.7.1集成調(diào)試器25210.7.2調(diào)試中的預(yù)處理指令25210.7.3使用(assert)宏25410.8靜態(tài)斷言25510.9本章小結(jié)25710.10練習(xí)257第11章定義自己的數(shù)據(jù)類型25911.1類和面向?qū)ο缶幊?5911.1.1封裝26011.1.2繼承26211.1.3多態(tài)性26311.2術(shù)語(yǔ)26311.3定義類26411.4構(gòu)造函數(shù)26511.4.1默認(rèn)構(gòu)造函數(shù)26511.4.2定義類的構(gòu)造函數(shù)26611.4.3使用default關(guān)鍵字26711.4.4在類的外部定義函數(shù)和構(gòu)造函數(shù)26711.4.5\t"/item/C%2B%2B17%E5%85%A5%E9%97%A8%E7%BB%8F%E5%85%B8%EF%BC%88%E7%AC%AC5%E7%89%88%EF%BC%89/_blank"默認(rèn)構(gòu)造函數(shù)的參數(shù)值26811.4.6使用成員初始化列表26911.4.7使用explicit關(guān)鍵字26911.4.8委托構(gòu)造函數(shù)27111.4.9副本構(gòu)造函數(shù)27211.5訪問(wèn)私有類成員27311.6this指針27411.7const對(duì)象和const成員函數(shù)27511.7.1const成員函數(shù)27611.7.2const正確性27711.7.3重載const27711.7.4常量的強(qiáng)制轉(zhuǎn)換27911.7.5使用mutable關(guān)鍵字27911.8友元28011.8.1類的友元函數(shù)28011.8.2友元類28111.9類的對(duì)象數(shù)組28211.10類對(duì)象的大小28311.11類的靜態(tài)成員28311.11.1靜態(tài)成員變量28311.11.2訪問(wèn)靜態(tài)成員變量28611.11.3靜態(tài)常量28611.11.4類類型的\t"/item/C%2B%2B17%E5%85%A5%E9%97%A8%E7%BB%8F%E5%85%B8%EF%BC%88%E7%AC%AC5%E7%89%88%EF%BC%89/_blank"靜態(tài)成員變量28711.11.5靜態(tài)成員函數(shù)28811.12析構(gòu)函數(shù)28811.13使用指針作為類成員29011.14嵌套類29911.15本章小結(jié)30211.16練習(xí)303第12章運(yùn)算符重載30512.1為類實(shí)現(xiàn)運(yùn)算符30512.1.1運(yùn)算符重載30512.1.2實(shí)現(xiàn)重載運(yùn)算符30612.1.3非成員運(yùn)算符函數(shù)30712.1.4提供對(duì)運(yùn)算符的全部支持30812.1.5在類中實(shí)現(xiàn)所有的比較運(yùn)算符30912.2可以重載的運(yùn)算符31112.3運(yùn)算符函數(shù)習(xí)語(yǔ)31312.4為輸出流重載12.5重載算術(shù)運(yùn)算符31512.6成員與非成員函數(shù)31812.7重載一元運(yùn)算符32012.8重載遞增和遞減運(yùn)算符32112.9重載下標(biāo)運(yùn)算符32212.10函數(shù)對(duì)象32612.11重載類型轉(zhuǎn)換32612.12重載\t"/item/C%2B%2B17%E5%85%A5%E9%97%A8%E7%BB%8F%E5%85%B8%EF%BC%88%E7%AC%AC5%E7%89%88%EF%BC%89/_blank"賦值運(yùn)算符32712.12.1實(shí)現(xiàn)復(fù)制賦值運(yùn)算符32812.12.2復(fù)制賦值運(yùn)算符與副本構(gòu)造函數(shù)33012.12.3賦值不同類型33012.13本章小結(jié)33112.14練習(xí)331第13章繼承33313.1類和面向?qū)ο缶幊?3313.2類的繼承33413.2.1繼承和聚合33513.2.2派生類33513.3把類的成員聲明為protected33713.4派生類成員的訪問(wèn)級(jí)別33813.4.1在類層次結(jié)構(gòu)中使用訪問(wèn)修飾符33813.4.2在類層次結(jié)構(gòu)中選擇訪問(wèn)修飾符33913.4.3改變繼承成員的訪問(wèn)修飾符34013.5派生類中的構(gòu)造函數(shù)34113.5.1派生類中的副本構(gòu)造函數(shù)34313.5.2派生類中的默認(rèn)構(gòu)造函數(shù)34413.5.3繼承構(gòu)造函數(shù)34413.6繼承中的析構(gòu)函數(shù)34513.7重復(fù)的成員變量名34713.8重復(fù)的成員函數(shù)名34713.9多重繼承34813.9.1多個(gè)基類34813.9.2繼承成員的模糊性34913.9.3重復(fù)繼承35213.9.4虛基類35313.10在相關(guān)的類類型之間轉(zhuǎn)換35313.11本章小結(jié)35413.12練習(xí)354第14章多態(tài)性35514.1理解多態(tài)性35514.1.1使用基類指針35514.1.2調(diào)用繼承的函數(shù)35714.1.3虛函數(shù)35914.1.4虛函數(shù)中的默認(rèn)實(shí)參值36514.1.5通過(guò)引用調(diào)用虛函數(shù)36614.1.6多態(tài)集合36614.1.7通過(guò)指針釋放對(duì)象36714.1.8在指針和類對(duì)象之間轉(zhuǎn)換36914.1.9動(dòng)態(tài)強(qiáng)制轉(zhuǎn)換37014.1.10調(diào)用虛函數(shù)的基類版本37314.1.11在構(gòu)造函數(shù)或析構(gòu)函數(shù)中調(diào)用虛函數(shù)37414.2多態(tài)性引發(fā)的成本37514.3確定動(dòng)態(tài)類型37614.4純虛函數(shù)37814.4.1抽象類37914.4.2用作接口的抽象類38114.5本章小結(jié)38214.6練習(xí)383第15章運(yùn)行時(shí)錯(cuò)誤和異常38515.1處理錯(cuò)誤38515.2理解異常386

[2]15.2.1拋出異常38615.2.2異常處理過(guò)程38815.2.3導(dǎo)致拋出異常的代碼38915.2.4嵌套的try塊38915.3用類對(duì)象作為異常39215.3.1匹配catch處理程序和異常39315.3.2用基類處理程序捕獲派生類異常39415.4重新拋出異常39615.5未處理的異常39815.6捕獲所有的異常39915.7不拋出異常的函數(shù)40015.7.1noexcept限定符40015.7.2異常和析構(gòu)函數(shù)40115.8異常和資源泄漏40115.8.1資源獲取即初始化40315.8.2用于動(dòng)態(tài)內(nèi)存的標(biāo)準(zhǔn)RAII類40415.9標(biāo)準(zhǔn)庫(kù)異常40515.9.1異常類的定義40615.9.2使用標(biāo)準(zhǔn)異常40715.10本章小結(jié)40915.11練習(xí)410第16章類模板41316.1理解類模板41316.2定義類模板41416.2.1模板參數(shù)41416.2.2簡(jiǎn)單的類模板41516.3定義類模板的成員函數(shù)41616.3.1構(gòu)造函數(shù)模板41616.3.2析構(gòu)函數(shù)模板41716.3.3下標(biāo)運(yùn)算符模板41716.3.4賦值運(yùn)算符模板41916.4創(chuàng)建類模板的實(shí)例42216.5非類型的類模板參數(shù)42616.5.1帶有非類型參數(shù)的成員函數(shù)的模板42716.5.2非類型參數(shù)的實(shí)參43116.5.3對(duì)比非類型模板實(shí)參與構(gòu)造函數(shù)實(shí)參43116.6模板參數(shù)的默認(rèn)值43216.7模板的顯式實(shí)例化43216.8類模板特化43316.8.1定義類模板特化43316.8.2部分模板特化43316.8.3從多個(gè)部分特化中選擇43416.9在類模板中使用(static_assert)43416.10類模板的友元43516.11帶有嵌套類的類模板43616.11.1棧成員的函數(shù)模板43816.11.2消除依賴名稱的歧義44116.12本章小結(jié)44316.13練習(xí)443第17章移動(dòng)語(yǔ)義44517.1lvalue和rvalue44517.2移動(dòng)對(duì)象44717.2.1傳統(tǒng)方法44917.2.2定義移動(dòng)成員44917.3顯式移動(dòng)對(duì)象45217.3.1只能移動(dòng)的類型45217.3.2移動(dòng)對(duì)象的繼續(xù)使用45317.4看似矛盾的情況45417.4.(1std::move)并不移動(dòng)任何東西45417.4.2rvalue引用是一個(gè)lvalue45417.5繼續(xù)探討函數(shù)定義45517.5.1按rvalue引用傳送45517.5.2按值傳送的歸來(lái)45617.5.3按值返回45817.6繼續(xù)討

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論