——注釋
單行注釋雷恃,多行注釋都與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ī)的變量盟庞,只不過常量的值在定義后不能修改
定義常量有兩種簡單的方式
1-使用#define預(yù)處理器
2-使用const關(guān)鍵字
宏定義#define和常量const的區(qū)別
——C++修飾符類型
C++允許在char吃沪、int和double數(shù)據(jù)類型前防止修飾符
修飾符用于改變基本類型的含義汤善,所以它更能滿足各種情境的需求
singed
unsinged
long
short
C++中的類型限定符
類型限定符提供了變量的額外信息
const—const類型的對象在程序執(zhí)行期間不能被修改改變
volatitle—該修飾高數(shù)編譯器什猖,變量的值可能以程序未明確指定的方式改變
restrict—由該修飾符修飾的指針是唯一一種訪問它所指向的對象的方式
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è)全局變量的引用,全局變量對所有的程序文件是可見的在旱,當(dāng)使用extern時(shí)摇零,對于無法初始化的變量,會(huì)把變量名只想一個(gè)之前定義過的存儲(chǔ)位置
mutable—mutable說明符僅適用于類的對象
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)主體之前測試條件
for循環(huán)—
do…while循環(huán)—
嵌套循環(huán)—
循環(huán)控制語句:
break語句
continue語句
goto語句
C++ 判斷
判斷結(jié)構(gòu)要求指定一個(gè)或多個(gè)要評(píng)估或測試的條件,以及條件為真時(shí)要執(zhí)行的語句和條件為假時(shí)要執(zhí)行的語句
if—
if…else —
嵌套if語句—
switch —
嵌套switch語句—
C++ 函數(shù)
函數(shù)是一組一起執(zhí)行一個(gè)任務(wù)的語句
每個(gè)C++程序都至少有一個(gè)函數(shù)登渣,即主函數(shù)main()噪服,所有簡單的程序都可以定義其他額外的函數(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ù)對實(shí)際參數(shù)沒有影響
指針調(diào)用-修改形式參數(shù)對實(shí)際參數(shù)有影響
引用調(diào)用-修改形式參數(shù)對實(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)存位置組成
最低的地址對應(yīng)第一個(gè)元素四康,最高的地址對應(yīng)最后一個(gè)元素
在C++中聲明一個(gè)數(shù)組需要指定元素的類型和元素的數(shù)量
C++數(shù)組詳解-
多維數(shù)組-多維數(shù)組最簡單的形式是二維數(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ǔ)其他變量地址之前狭握,對其進(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)算-可以對指針進(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è)對象,就不能被指向到另一個(gè)對象漏设。指針可以在任何時(shí)候指向到另一個(gè)對象
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ù)定義對象cout是ostream類的一個(gè)實(shí)例
標(biāo)準(zhǔn)輸入流(cin)
預(yù)定義對象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)成員使用成員訪問符(.)