C new是否執行初始化

2021-09-13 03:36:34 字數 416 閱讀 1648

本文**:

c++在new時的初始化的規律可能為:對於有建構函式的類,不論有沒有括號,都用建構函式進行初始化;如果沒有建構函式,則不加括號的new只分配記憶體空間,不進行記憶體的初始化,而加了括號的new會在分配記憶體的同時初始化為0。

以下**:

#include

using namespace std;

int main();};

main函式中使用語句:

a *b=new a;

cout但是,如果吧a的建構函式刪掉,則兩個語句輸出的結果分別是:隨機數,0。

由此可見,c++在new時的初始化的規律可能為:對於有建構函式的類,不論有沒有括號,都用建構函式進行初始化;如果沒有建構函式,則不加括號的new只分配記憶體空間,不進行記憶體的初始化,而加了括號的new會在分配記憶體的同時初始化為0。

C new和初始化

本文章僅為個人學習,如有錯誤,請指正。雖然知道使用new可以建立物件,但一直不是很理解初始化和new等知識的具體。通過8個問題和需求,了解相關知識。了解問題和需求 1.new 的三個步驟 2.初始化是什麼意思。3.變數宣告後和變數賦值為null或變數呼叫了new的區別。4.欄位不是變數。1.new的...

編譯期初始化與執行期初始化

編譯期初始化 在源 被編譯過程中,編譯期安插一些 邏輯,完成確定的記憶體分配 並非實際分配記憶體,而是確定其大小占用,由編譯期安插 變數的初始化。如 全域性變數為內建型別,並且大小確定 int a 2 static int b 3 static的不同只是其只在本檔案中可見 static int c ...

Vue 初始化 執行過程

vue 初始化 執行過程 先在platforms 下的 entry runtime with compile.js 呼叫 vue.mountd 的獲取el物件,掛載mount方法 將vue的模組匯出 找到 core instance index.js 獲取 vue的建構函式,初始化vue 上的靜態方...