如何在 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 次浏览

提升你的 职业

完成课程以获得认证

开始
广告