如何在C ++中使用新的运算符初始化内存?

C ++中的new运算符定义为分配内存而不初始化。如果您想使用new运算符分配一个int类型的数组,并且想要将它们全部初始化为默认值(即ints,则为0),则可以使用以下语法-

语法

new int[10]();

请注意,您只需要使用空括号即可-例如,您不能使用或其他表达式,这仅对默认初始化有所帮助。

还有其他一些使用fill_n,memset等初始化同一内存的方法,可用于将对象初始化为非默认值。 

示例

#include<iostream>
int main() {
   int myArray[10];
   
   //使用memset初始化为0-
   memset( myArray, 0, 10 * sizeof( int ));    
   
   //使用循环将值1分配给每个元素
   std::fill_n(array, n, 1);    
}