C 未經初始化

2021-07-10 07:35:41 字數 458 閱讀 3472

不管是類中的成員還是普通變數或者物件的情況。

不過這裡討論的都是區域性變數,不是全域性變數。

1.內建型別

不管是int 還是 指標型別

沒有初始化的時候都是不確定的值,能夠訪問這個值,但是這個值是不確定的。

2.指標指向

如果乙個指標沒有初始化,那麼指向這個指標將直接使程式崩潰。

當然你如果動態分配乙個變數,返回那個指標,沒有初始化。應該屬於情況1,訪問那個指標指向的物件是得到乙個不確定的值。

3.類型別

這就要看這個有沒有預設實參了。

像string型別之所以會預設初始化為空字串"",是因為它的類定義就提供了這個預設引數,稱為類內初始值。

如果沒有的話,情形就是1,2.

C 直接初始化和複製初始化

在c 裡,物件初始化是乙個非常重要但又容易令人混淆的問題。這裡是自己的一些總結。一。初始化與賦值的含義 初始化 包括建立 或說定義 物件並且賦給初值。如果乙個物件只被建立而沒有被初始化,則該變數只能用於被賦值 賦值 擦除物件的當前值並用新值代替。二。內建型別 一 直接初始化 1.空初始化 即無引數無...

c 直接初始化與拷貝初始化

我們常見的幾種初始化的形式 string str1 first 拷貝初始化,編譯器允許把這句話改寫為string str first 但是string類必須有public的拷貝 移動 建構函式 string str2 10,a 直接初始化 string str3 str2 直接初始化 string ...

初始化 指定初始化

id alloc 物件的誕生過程,主要是從作業系統獲得一塊足夠大的記憶體,以存放該類的全部例項變數,並將其指定為存放記憶體物件的實力變數的位置。alloc方法同時將這塊記憶體全部設定為0。結果是 bool變數初始化為no,所有的int型別變數為0,float變數為0.0,所有的指標為nil.obje...