五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

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

C/C++編程學(xué)習(xí)筆記:C++基礎(chǔ)之變量的聲明與初始化賦值

2020-04-06 16:07 作者:C語言編程__Plus  | 我要投稿

變量的聲明

所有變量必須在使用前進(jìn)行聲明,變量可以在使用前進(jìn)行聲明,不必在函數(shù)或過程的開始位置先聲明。

變量名規(guī)范

1. 名稱只能使用字母、數(shù)字、下劃線。

2. 名稱的第一個字符不能是數(shù)字。

3. 不能與C++關(guān)鍵字重名。

注:以下劃線開頭的變量名是系統(tǒng)專用的,盡量不要這樣命名。長度不要過長,最長盡量不要超過63。

變量聲明舉例

變量的初始化

1. 默認(rèn)初始化

默認(rèn)初始化是指定義變量時沒有指定初值時進(jìn)行的初始化操作。

內(nèi)置類型變量

若變量定義在語句塊(即{})外面,那么變量會被默認(rèn)初始化為0或等同于0的值。

若變量定義在語句塊里面,變量的值是不確定的。

為什么不初始化變量呢?給自己挖坑嗎?

類類型變量

無論定義于何處都會執(zhí)行默認(rèn)構(gòu)造函數(shù)。如果默認(rèn)構(gòu)造函數(shù)中沒有初始化變量,那么變量的值是不確定的。如果不 存在構(gòu)造函數(shù),編譯器會根據(jù)需要創(chuàng)建空默認(rèn)構(gòu)造函數(shù)。

2. 值初始化

值初始化是指用了初始化器但沒有提供初始值的情況。變量會被默認(rèn)初始化為0或等同于0的值。

3. 直接初始化

直接初始化就是指使用了初始化器并且提供了初值的情況。

對于類來說,直接初始化會調(diào)用與實(shí)參最佳匹配的構(gòu)造函數(shù)。

例如:int a(1);string str("hello");Test a(1,2,3);

4. 拷貝初始化

拷貝初始化就是用等號對變量進(jìn)行賦值的方法,即將右值拷貝給左值。

內(nèi)置類型變量

對于內(nèi)置類型變量來說,直接初始化與拷貝初始化差別幾乎可以忽略不計(jì)。

類類型變量

對于類類型變量來說,直接初始化會調(diào)用與實(shí)參最佳匹配的構(gòu)造函數(shù),但是拷貝初始化調(diào)用類的拷貝構(gòu)造函數(shù)。

*注:對類類型變量進(jìn)行初始化時,如果類的構(gòu)造函數(shù)采用了explicit修飾并且需要隱式類型轉(zhuǎn)換。此時只能通過直接初始化而不能通過拷貝初始化。

例如:

5. 列表初始化

在可以使用直接初始化和拷貝初始化的地方都能用列表初始化。列表初始化對容器的初始化同其他方法更方便一些。

對于容器

特別地,對于容器初始化時有()和{}兩種方法。

使用()

有一個參數(shù)時僅構(gòu)造容器。兩個參數(shù)時,第一個參數(shù)構(gòu)造容器,第二個初始化容器。

使用{}

如果參數(shù)序列的所有值均與容器類型相同,那么初始化時會將參數(shù)列表中的所有值放入容器中,容器的元素數(shù) 量和參數(shù)數(shù)量相同。

如果參數(shù)序列中的值與容器類型不同,那么會考慮將該值作為構(gòu)造容器的參數(shù);如果不能作為參數(shù)那么就會出 現(xiàn)編譯錯誤。

例如:

Copy

6. 動態(tài)分配時的初始化

動態(tài)分配時不加以初始化時,內(nèi)置數(shù)據(jù)類型的變量的值是不確定的。類類型變量將調(diào)用默認(rèn)構(gòu)造函數(shù)進(jìn)行初始化。

例如:

int* a = new int();

int* a = new int(123);

vector<int> *t1 = new vector<int> {1,2,3,4};

學(xué)習(xí)C/C++編程,了解C++更多知識歡迎關(guān)注UP,持續(xù)更新更多小知識一起成長呀~



C/C++編程學(xué)習(xí)筆記:C++基礎(chǔ)之變量的聲明與初始化賦值的評論 (共 條)

分享到微博請遵守國家法律
监利县| 丰都县| 迁安市| 临邑县| 潞西市| 潼南县| 廊坊市| 西昌市| 应城市| 远安县| 玉溪市| 镇赉县| 绍兴县| 嘉义市| 株洲市| 绥芬河市| 微山县| 邵阳县| 高唐县| 通河县| 永仁县| 安化县| 江孜县| 永德县| 尼玛县| 仙游县| 田阳县| 南丰县| 万盛区| 车致| 海门市| 肇州县| 潮安县| 天津市| 盘锦市| 紫金县| 神农架林区| 高阳县| 章丘市| 辽阳市| 英德市|