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

歡迎光臨散文網(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ǔ)之變量的聲明與初始化賦值的評論 (共 條)

分享到微博請遵守國家法律
牙克石市| 米林县| 应城市| 眉山市| 屯门区| 昆山市| 济源市| 三台县| 大姚县| 历史| 平遥县| 土默特左旗| 麟游县| 阿瓦提县| 保定市| 兴和县| 扎赉特旗| 理塘县| 晋宁县| 普安县| 马尔康县| 聂荣县| 浦北县| 忻城县| 蕲春县| 师宗县| 廉江市| 广丰县| 漠河县| 兴业县| 祁东县| 东台市| 社会| 平南县| 鲁甸县| 利川市| 饶河县| 陇南市| 枣庄市| 元江| 保康县|