如何在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); }