C 中的預設初始化

2021-10-02 12:19:45 字數 588 閱讀 9171

c++中涉及到內建型別、復合型別、stl物件、結構體、類等物件,初始化也有很多態別:預設初始化、拷貝初始化、直接初始化。

預設初始化是指未指定變數具體值時,變數自動被初始化。預設初始化存在很多差異,分類總結對於熟練掌握及應用大有裨益!

1.內建型別

預設初始值由定義的位置決定,若不在任何塊內,初始化為0,否則未定義,或者說是擁有乙個不確定的值。

#include

using namespace std;

int oi;

double od;

bool ob;

int main(){

cout01570130464

6.95322e-31001

2345

6789

1011

1213

1415

1617

1819

2021

2.復合型別

a.引用,宣告時必須初始化,而且無法將引用重新繫結到另乙個物件上。

b.指標,未定義。

3.stl物件

視情況而定,一般為空物件,例如 string str,則str是乙個空字串。

C 預設初始化

如果定義變數時沒有指定初始值,則變數被預設初始化,此時變數被賦予了預設值,預設值到底是什麼由變數型別和位置決定。函式體外初始化為0,函式體內不被初始化,使用new初始化的值是隨機的。int g value intmain void 定義乙個類變數但沒有指定初始值時,會使用預設建構函式來初始化,所以沒...

C 預設初始化

預設初始化,顧名思義,即為在定義變數時如果沒有為其指定初始化值,則該變數會被c 編譯器賦予預設的值。而變數被賦予的預設值到底是什麼,則取決於變數的資料型別和變數的定義位置。規則1 內建型別的變數如果初始化,則它的預設初始化值取決於定義它的位置 定義在任何函式之外的未初始化的內建型別變數 也就是全域性...

預設初始化

雖然保險的做法是對每個變數都顯示初始化,但是了解一下預設初始化的規則也是很有必要的。1.定義於任何函式體之外的變數被初始化為0。2.定義在函式體內部的區域性變數不會被預設初始化。所以,它的值是未定義的 這裡的 未定義 我的理解 變數所分配記憶體中的二進位制資料,分配時是什麼就是什麼,機器會按照變數的...