(二十五)將變數初始化

2021-09-23 23:23:27 字數 673 閱讀 8930

在之前,我們經常會這樣寫**:

int a;

a=5;

我們可以把這個行為叫做 宣告變數,然後賦值。

我們也可以這麼寫**:

int a=5;

這個行為在宣告變數的同時,對其賦值。和前一種作用相同,我們把這種方法,稱其為將變數初始化——即將賦值和宣告合併在一起。

後者可以有效避免你在宣告變數時,忘記給變數賦值。

另外,對變數初始化是十分有必要的一件事情,假如沒有進行初始化,(以下我沒看懂)該變數將是他被建立之前,相應記憶體單元所儲存的值。(這個值是神馬?)

另外,還有一種將變數初始化的方法:

int a(5);

他等價於int a=5; 但這個方法是c++專享的,c語言並沒有。

ps:還有一種,通常用於陣列和結構(這個是神馬)的初始化方式,但在c++98中,也可以用於單值變數。

即int a;  //注意,這裡是大括號,即****+[ 、]的那兩個。

也可以這麼寫int a=;

假如這麼寫:int a={}; 或者int a{}; 那麼意味著a=0

按照說明,這種辦法有助於更好的防範型別轉換錯誤。(雖然我不懂)。c++可以使大括號初始化器用於任何型別。

變數初始化

int a 是變數定義,也就是說編譯器將為a分配儲存,這在編譯時被處理。int a 0 是定義 初始化,定義的分配儲存的action在編譯時完成,初始化的action則在執行時完成 將執行類似dword ptr ebp 4 0的指令,而單獨的int a 不會有對應的執行指令 定義是分配空間,而初始化...

初始化列表成員變數的初始化

對於以下程式 include using namespace std class base base b 0 a b int get a int get b int main 本想得到的結果是a,b都為90。但是實際結果卻是 4273046 90process returned 0 0x0 exec...

C 初始化變數

1.初始化變數 int i1 7.2 正確,但是i1的值變為了7 int i 建議使用初始值列表 int i2 錯誤 初始值列表確保不會發生某些可能導致資訊丟失的型別轉換 int i3 錯誤 同上,且 是多餘的 2.使用auto關鍵字 struct record auto p new record ...