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


在C++中,new運算子用於分配記憶體,而不初始化。如果要使用new運算子分配一個型別為int的陣列,並且你想將它們全部初始化為預設值(對於int型別來說是0),可以使用以下語法−

語法

new int[10]();

請注意,你只需要使用空括號——例如,你不能使用(0)或其他表示式,這就是為什麼這僅適用於預設初始化的原因。

還有其他方法可以使用fill_n、memset等初始化相同的記憶體,你可以使用它們將物件初始化為非預設值。 

示例

#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);    
}

更新於: 19-6-2020

884次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

入門
廣告
© . All rights reserved.