如何在 C++ 中使用 new 運算元初始化記憶體?


C++ 中的 new 運算元被定義為分配記憶體,並不進行初始化。如果要使用 new 運算元分配一個型別為 int 的陣列,還要將它們全部初始化為預設值(對於 int 型別為 0),可以使用以下語法:-

語法

new int[10]();

請注意,必須使用空括號,例如,不能使用 (0) 或其他表示式,因此此方法僅對預設初始化有用。

還有其他使用 fill_nmemset 等方法初始化同一塊記憶體的方法,你可以使用這些方法將物件初始化為非預設值。 

示例

#include<iostream>
int main() {
   int myArray[10];
   
   // Initialize to 0 using memset
   memset( myArray, 0, 10 * sizeof( int ));    
   
   // Using a loop assigns the value 1 to each element
   std::fill_n(array, n, 1);    
}

更新於:2020 年 6 月 19 日

884 次瀏覽

提升你的 職業

完成課程以獲得認證

開始
廣告
© . All rights reserved.