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