——注釋
單行注釋,多行注釋都與java相同
——數(shù)據(jù)類型
七種基本的數(shù)據(jù)類型 ?bool char int float double void wechar_t
一些基本類型可以使用一個(gè)過多個(gè)類型修飾符進(jìn)行修飾
各種變量類型在內(nèi)存中存儲(chǔ)值時(shí)需要占用的內(nèi)存 以及該變量所能存儲(chǔ)的最大值和最小值
typedef聲明 為一個(gè)已有的類型取一個(gè)新的名字
枚舉類型 ?是C++中的一種派生數(shù)據(jù)類型,他是由用戶定義的若干枚舉常量的集合
——變量類型
變量其實(shí)只不過是程序可操作的存儲(chǔ)區(qū)的名稱
C++也允許定義各種其他類型的變量,比如枚舉、指針、數(shù)組、引用、數(shù)據(jù)結(jié)構(gòu)、類等
C++中的左值和右值
——C++變量作用域
作用域是程序的一個(gè)區(qū)域,一般來說有三個(gè)地方可以定義變量
局部變量-在函數(shù)或一個(gè)代塊內(nèi)部聲明的變量
形式參數(shù)-在函數(shù)參數(shù)定義聲明的變量
全局變量-在所有函數(shù)外部聲明的變量
——C++常量
常量是固定值,在程序執(zhí)行期間是不會(huì)改變的,這些固定的值又叫做字面量
常量可以是任何的基本數(shù)據(jù)類型,可分為整型數(shù)字,浮點(diǎn)數(shù)字,字符,字符串和布爾值
常量就像是常規(guī)的變量,只不過常量的值在定義后不能修改
定義常量有兩種簡(jiǎn)單的方式
1-使用#define預(yù)處理器
2-使用const關(guān)鍵字
宏定義#define和常量const的區(qū)別
——C++修飾符類型
C++允許在char、int和double數(shù)據(jù)類型前防止修飾符
修飾符用于改變基本類型的含義,所以它更能滿足各種情境的需求
singed
unsinged
long
short
C++中的類型限定符
類型限定符提供了變量的額外信息
const—const類型的對(duì)象在程序執(zhí)行期間不能被修改改變
volatitle—該修飾高數(shù)編譯器,變量的值可能以程序未明確指定的方式改變
restrict—由該修飾符修飾的指針是唯一一種訪問它所指向的對(duì)象的方式
C++存儲(chǔ)類
存儲(chǔ)類定義C++程序中變量/函數(shù)的范圍(可見性)和生命周期。這些說明符放置在它們所修飾的類型之前
auto
register
static—static存儲(chǔ)類指示編譯器在程序的生命走起內(nèi)保持局部變量的存在,而不需要在每次它進(jìn)入和離開作用域時(shí)進(jìn)行創(chuàng)建和銷毀,因此使用static修飾局部變量可以在函數(shù)調(diào)用之間保持局部變量的值
extern—存儲(chǔ)類用于提供一個(gè)全局變量的引用,全局變量對(duì)所有的程序文件是可見的,當(dāng)使用extern時(shí),對(duì)于無法初始化的變量,會(huì)把變量名只想一個(gè)之前定義過的存儲(chǔ)位置
mutable—mutable說明符僅適用于類的對(duì)象
thread_local(C++11)
C++運(yùn)算符
運(yùn)算符是一種概述編譯器執(zhí)行特定的數(shù)學(xué)或邏輯操作的符號(hào)
C++內(nèi)置了豐富的運(yùn)算符
算數(shù)運(yùn)算符—加減乘除
關(guān)系運(yùn)算符—大小
邏輯運(yùn)算符—與或非
位運(yùn)算符
賦值運(yùn)算符
雜項(xiàng)運(yùn)算(比C#多出一項(xiàng))
運(yùn)算符的優(yōu)先級(jí)
C++循環(huán)
循環(huán)類型:
while循環(huán)—當(dāng)給定條件為真時(shí),重復(fù)語句或語句組。他會(huì)在執(zhí)行循環(huán)主體之前測(cè)試條件
for循環(huán)—
do…while循環(huán)—
嵌套循環(huán)—
循環(huán)控制語句:
break語句
continue語句
goto語句
C++ 判斷
判斷結(jié)構(gòu)要求指定一個(gè)或多個(gè)要評(píng)估或測(cè)試的條件,以及條件為真時(shí)要執(zhí)行的語句和條件為假時(shí)要執(zhí)行的語句
if—
if…else —
嵌套if語句—
switch —
嵌套switch語句—
C++ 函數(shù)
函數(shù)是一組一起執(zhí)行一個(gè)任務(wù)的語句
每個(gè)C++程序都至少有一個(gè)函數(shù),即主函數(shù)main(),所有簡(jiǎn)單的程序都可以定義其他額外的函數(shù)
函數(shù)聲明告訴編譯器函數(shù)的名稱、返回類型和參數(shù)。函數(shù)定義提供了函數(shù)的實(shí)際主體
C++標(biāo)準(zhǔn)庫提供了大量的程序可以調(diào)用的內(nèi)置函數(shù)
函數(shù)聲明—函數(shù)聲明會(huì)告訴編譯器函數(shù)名稱及如何調(diào)用函數(shù)。函數(shù)的實(shí)際主體可以單獨(dú)定義
調(diào)用函數(shù)—
函數(shù)參數(shù)—
如果函數(shù)要使用參數(shù),則必須聲明接受參數(shù)數(shù)值的變量,這些變量稱為函數(shù)的形式參數(shù)
形式參數(shù)就像函數(shù)內(nèi)的其他局部變量,在進(jìn)入函數(shù)時(shí)被創(chuàng)建,退出函數(shù)時(shí)被銷毀
當(dāng)調(diào)用函數(shù)時(shí),有兩種向函數(shù)傳遞參數(shù)的方式:
傳值調(diào)用-修改形式參數(shù)對(duì)實(shí)際參數(shù)沒有影響
指針調(diào)用-修改形式參數(shù)對(duì)實(shí)際參數(shù)有影響
引用調(diào)用-修改形式參數(shù)對(duì)實(shí)際參數(shù)有影響
參數(shù)的默認(rèn)值—
在參數(shù)列表中后邊的每一個(gè)參數(shù)指定默認(rèn)值,當(dāng)調(diào)用函數(shù)時(shí),如果實(shí)際參數(shù)的值留空,則使用這個(gè)默認(rèn)值,如果指定了值,則會(huì)忽略默認(rèn)值,使用傳遞的值
Lamabda函數(shù)與表達(dá)式—
C++數(shù)組
存儲(chǔ)一個(gè)固定大小的相同類型元素的順序集合
數(shù)組中的特定元素可以通過索引訪問
所有的數(shù)組都是由連續(xù)的內(nèi)存位置組成
最低的地址對(duì)應(yīng)第一個(gè)元素,最高的地址對(duì)應(yīng)最后一個(gè)元素
在C++中聲明一個(gè)數(shù)組需要指定元素的類型和元素的數(shù)量
C++數(shù)組詳解-
多維數(shù)組-多維數(shù)組最簡(jiǎn)單的形式是二維數(shù)組
指向數(shù)組的指針-指定不帶索引的數(shù)組名稱來生成一個(gè)指向數(shù)組中第一個(gè)元素的指針
傳遞數(shù)組給函數(shù)-指定不帶索引數(shù)組名稱來給函數(shù)傳遞一個(gè)指向數(shù)組的指針
從函數(shù)返回素組-從函數(shù)返回?cái)?shù)組
C++字符串
提供了以前兩種類型的字符串表現(xiàn)形式
C風(fēng)格字符串
C++引入的string類類型
C++指針
指針是一個(gè)變量,其值為另一個(gè)變量的地址
即內(nèi)存位置的直接地址
在使用指針存儲(chǔ)其他變量地址之前,對(duì)其進(jìn)行聲明
聲明其數(shù)據(jù)類型和指針變量的名稱
*星號(hào)是用來指定一個(gè)變量是指針
C++使用指針
使用指針會(huì)頻繁的進(jìn)行以下幾個(gè)步驟:
1 定義一個(gè)指針變量
2 把變量地址賦值給指針
3 訪問指針變量中可用的地址的值
這些是通過使用一元運(yùn)算符* 來返回位于操作數(shù)所指定地址的變量的值
C++指針詳解
C++NUll指針-NUll指針是一個(gè)定義在標(biāo)準(zhǔn)庫中的值為零的常量
C++指針的算數(shù)運(yùn)算-可以對(duì)指針進(jìn)行四種算術(shù)運(yùn)算
C++指針vs數(shù)組
C++指針數(shù)組-可以定義用來存儲(chǔ)指針的數(shù)組
C++指向指針的指針-允許指向指針的指針
C++傳遞指針給函數(shù)-通過引用或地址傳遞參數(shù),使傳遞的參數(shù)在調(diào)用函數(shù)中被改變
C++從函數(shù)返回指針-函數(shù)返回指針到局部變量、靜態(tài)變量和動(dòng)態(tài)內(nèi)存分配
C++引用
引用變量是一個(gè)別名,它是某個(gè)已存在的變量的另一個(gè)名字
一旦把引用初始化為某個(gè)變量,就可以使用該引用名稱或變量名稱來指向變量
引用和指針的三個(gè)不同點(diǎn):
1-不存在空引用,引用必須連接到一塊合法的內(nèi)存
2-一旦引用被初始化一個(gè)對(duì)象,就不能被指向到另一個(gè)對(duì)象。指針可以在任何時(shí)候指向到另一個(gè)對(duì)象
3-引用必須在創(chuàng)建時(shí)被初始化。指針可以在任何時(shí)間被初始化
把引用作為參數(shù)——C++支持把引用作為參數(shù)傳給函數(shù),這比傳一半的參數(shù)更安全
把引用作為返回值——可以從C++函數(shù)中返回引用,就像返回其他數(shù)據(jù)類型一樣
C++基本的輸入輸出
字節(jié)流是從設(shè)備流向內(nèi)存,這叫輸入操作
字節(jié)流是從內(nèi)存流向設(shè)備,這叫輸出操作
標(biāo)準(zhǔn)輸出流(cout)
預(yù)定義對(duì)象cout是ostream類的一個(gè)實(shí)例
標(biāo)準(zhǔn)輸入流(cin)
預(yù)定義對(duì)象cin是istream類的一個(gè)實(shí)例
標(biāo)注錯(cuò)誤流(cerr)
標(biāo)準(zhǔn)日志流(clog)
C++數(shù)據(jù)結(jié)構(gòu)
結(jié)構(gòu)體-struct語句
訪問結(jié)構(gòu)成員使用成員訪問符(.)