最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

超硬核知識:兩萬字總結(jié)《C++ Primer》要點!

2021-09-19 14:56 作者:C語言編程__Plus  | 我要投稿

對于想要入門C++的同學來說,《C++ Primer》是一本不能錯過的入門書籍,它用平易近人的實例化教學激發(fā)學生的學習興趣,幫助學生一步步走進C++的大門。在本文中,作者Jacen用兩萬多字總結(jié)了《C++ Primer 中文版(第五版)》1-16章的閱讀要點,可以作為該書的閱讀參考。現(xiàn)在到了第六版也沒關(guān)系。注:原書更為詳細,本文僅作學習交流使用。


第一章 開始

1.1 編寫一個簡單的C++程序


每個C++程序都包含一個或多個函數(shù),其中一個必須命名為main.

1.2 初識輸入輸出


1.3 注釋簡介

兩種:

單行注釋://

界定符:/?和?/

1.4 控制流

while;for;if;

第二章 變量和基本類型

P30-P71

數(shù)據(jù)類型是程序的基礎。C++語言支持廣泛的數(shù)據(jù)類型。

基本內(nèi)置類型

1.算術(shù)類型


2.類型轉(zhuǎn)換

不要混用符號類型和無符號類型。

變量

1.變量定義

(1)基本形式:

類型說明符,隨后緊跟著一個或者多個變量名組成的列表,其中變量名以逗號分隔,最后以分號結(jié)束。

(2)初始值

在C++中,初始化和賦值是2個完全不同的操作。初始化的含義是創(chuàng)建變量的時候賦予一個初始值,而賦值的含義是把對象的當前值擦除,用一個新值來替代。兩者區(qū)別很小。

(3)列表初始化

用花括號來初始化變量的方式,稱為列表初始化。

(4)默認初始化

如果定義變量沒有指定初始值,則變量被默認初始化。

::: tip

例外情況:

定義在函數(shù)體內(nèi)部的內(nèi)置類型變量將不被初始化,其值未定義。

建議初始化每個內(nèi)置類型的變量。:::

2.變量聲明和定義的關(guān)系

變量聲明:規(guī)定了變量的類型和名字。

變量定義:除聲明之外,還需要申請存儲空間。

如果想聲明一個變量,而非定義它,需要使用extern關(guān)鍵詞。


::: tip變量只能被定義一次,但可以被多次聲明。:::

3.名字的作用域

作用域:C++中大多數(shù)作用域都用花括號分隔。

作用域中一旦聲明了某個名字,它所嵌套的所有作用域都能訪問該名字。同時,允許在內(nèi)層作用域中重新定義外層作用域中有的名字。

::: warning如果函數(shù)有可能用到某全局變量,則不宜再定義一個同名的局部變量。:::

復合類型

定義:復合類型是基于其他類型定義的類型。

1.引用

引用:為對象起另外一個名字。

::: warning引用必須被初始化。引用本身不是對象,所以不能定義引用的引用。引用要和綁定的對象嚴格匹配。引用類型的初始值,必須是一個對象。:::


const限定符

定義:const用于定義一個變量,它的值不能被改變。const對象必須初始化。

::: tip

默認狀態(tài)下,const對象僅在文件內(nèi)有效。當多個文件出現(xiàn)了同名的const變量時,等同于在不同文件中分別定義了獨立的變量。

如果想讓const變量在文件間共享,則使用extern修飾。

:::

(1)const的引用

允許為一個常量引用綁定非常量的對象、字面值,甚至是個一般表達式。

一般,引用的類型必須與其所引用對象的類型一致,特殊情況是表達式。

(2)指針和const

弄清楚類型,可以從右邊往左邊閱讀。

(3)頂層const

top-level const 表示指針本身是個常量

low-level const表示指針所指的對象是一個常量。

(4)constexpr和常量表達式

C++新標準規(guī)定,允許將變量聲明為constexpr類型以便由編譯器來驗證變量的值是否是一個常量表達式。

處理類型


自定義數(shù)據(jù)結(jié)構(gòu)

(1)類

數(shù)據(jù)結(jié)構(gòu)是把一組相關(guān)的數(shù)據(jù)元素組織起來,然后使用它們的策略和方法。

類一般不定義在函數(shù)體內(nèi),為了確保各個文件中類的定義一致,類通常被定義在頭文件中,而且類所在頭文件的名字應該與類的名字一樣。

頭文件通常包含那些被定義一次的實體。

(2)預處理器


一般把預處理變量的名字全部大寫。

術(shù)語

空指針 :值為0的指針,空指針合法但是不指向任何對象。nullPtr是表示空指針的字面值常量。

void*:可以指向任意非常量的指針類型,不能執(zhí)行解引用操作。

第三章 字符串、向量和數(shù)組

P74-P118

string表示可變長的字符序列,vector存放的是某種給定類型對象的可變長序列。

命名空間的 using 聲明


頭文件不應包含using聲明。

標準庫類型 string


標準庫類型 vector


迭代器介紹


數(shù)組


多維數(shù)組


術(shù)語

begin?string和vector的成員,返回指向第一個元素的迭代器。也是一個標準庫函數(shù),輸入一個數(shù)組,返回指向該數(shù)組首元素的指針。

end?string和vector的成員,返回一個尾后迭代器。也是一個標準庫函數(shù),輸入一個數(shù)組, 返回指向該數(shù)組尾元素的下一個位置的指針。

第四章 表達式

P120-P151

4.1 基礎

重載運算符:為已經(jīng)存在的運算符賦予了另外一層含義。

左值、右值:

當一個對象用作右值得時候,用的是對象的值(內(nèi)容)。

當對象被用作左值得時候,用的是對象的身份(在內(nèi)存中的位置)。

4.2 算術(shù)運算符

%:參與取余運算的運算對象必須是整數(shù)類型。

4.3 邏輯和關(guān)系運算符


&& 運算符和 || 運算符都是先求左側(cè)運算對象的值再求右側(cè)運算對象的值。

::: warning

進行比較運算的時候,除非比較的對象是bool類型,否則不要使用布爾字面值true,false作為運算對象。

:::

4.4 賦值運算符


4.5 遞增和遞減運算符

遞增運算符 ++

遞減運算符 —

4.6 成員訪問運算符


4.7 條件運算符


4.8 位運算符


4.9 sizeof運算符


4.10 逗號運算符

逗號運算符含有兩個運算對象,按照從左向右的順序依次求值。

4.11 類型轉(zhuǎn)換


4.12 運算符優(yōu)先級表

第五章 語句

第六章 函數(shù)

第七章 類

P228-P273

類的基本思想是數(shù)據(jù)抽象和封裝。

抽象是一種依賴于接口和實現(xiàn)分離的編程技術(shù)。

封裝實現(xiàn)了類的接口和實現(xiàn)的分離。

第八章 IO庫


第九章 順序容器

第十章 泛型算法


第十一章 關(guān)聯(lián)容器


第十二章 動態(tài)內(nèi)存

第十三章 拷貝控制


13.3 交換操作

swap

13.4 拷貝控制示例

P460

13.5 動態(tài)內(nèi)存管理類

P464


第十四章 重載運算與類型轉(zhuǎn)換

第十五章 面向?qū)ο蟪绦蛟O計


第十六章 模板與泛型編程

P578-P630

(1)控制實例化

當編譯器遇到extern模板聲明時,它不會在本文件中生成實例化代碼。將一個實例化聲明為extern就表示承諾在程序其他位置有該實例化的一個非extern聲明(定義)。對于一個給定的實例化版本,可能有多個extern聲明,但必須只有一個定義。

(2)模板是標準庫的基礎。

生成特定類或者函數(shù)的過程稱為實例化。

(3)術(shù)語

類模板:模板定義,可從它實例化出特定的類。類模板的定義以關(guān)鍵詞template開始,后面跟尖括號對<和>,其內(nèi)為一個用逗號分隔的一個或多個模板參數(shù)的列表,隨后是類的定義。

函數(shù)模板:模板定義,可從它實例化出特定函數(shù)。函數(shù)模板的定義以關(guān)鍵詞template開始,后跟尖括號<和>,其內(nèi)以一個用逗號分隔的一個或多個模板參數(shù)的列表,隨后是函數(shù)的定義。

《C++ Primer》

[美] Stanley B. Lippman,Josee Lajoie,Barbara E. Moo 著

王剛 楊巨峰 譯

如果只讀一本C++書,本書將是你永不局悔的選擇

如果只讀一本C++書籍,相信所有讀過的人都會毫不猶豫選擇《C++ Primer(中文版)》,無論初學或老手既可用來理解C++11規(guī)則背后的原理,也可用其新語言特性與標準庫來快速構(gòu)建健壯程序,采用中文版頁碼全面呈現(xiàn)原書大量交叉引用及詳盡索引,新式輔學設置與課后操練用于避開陷阱、鞏固良法!

書籍和視頻學習效果更佳!

寫在最后:對于準備成為一名優(yōu)秀程序員的朋友,如果你想更好的提升你的編程核心能力(內(nèi)功),讓自己成為一個具有真材實料的厲害的程序員,不妨從現(xiàn)在開始!C/C++,永不過時的編程語言~

微信公眾號:C語言編程學習基地

整理分享(多年學習的源碼、項目實戰(zhàn)視頻、項目筆記,基礎入門教程)

歡迎轉(zhuǎn)行和學習編程的伙伴,利用更多的資料學習成長比自己琢磨更快哦!


超硬核知識:兩萬字總結(jié)《C++ Primer》要點!的評論 (共 條)

分享到微博請遵守國家法律
宜阳县| 浦城县| 井陉县| 富川| 容城县| 镇雄县| 莆田市| 福贡县| 垫江县| 昂仁县| 定陶县| 乌拉特中旗| 宁武县| 台东市| 个旧市| 阿拉善右旗| 田林县| 清水河县| 喜德县| 鄯善县| 宽甸| 靖江市| 凤凰县| 申扎县| 郓城县| 鄂伦春自治旗| 孙吴县| 舟山市| 德兴市| 马龙县| 呼图壁县| 长海县| 大连市| 垣曲县| 临桂县| 密山市| 黄浦区| 马鞍山市| 芜湖市| 襄城县| 陵川县|