Toán tử mới trong C ++ được định nghĩa để cấp phát bộ nhớ và không khởi tạo. Nếu bạn muốn cấp phát một mảng kiểu int với toán tử mới và bạn muốn khởi tạo tất cả chúng thành giá trị mặc định (tức là 0 trong trường hợp int), bạn có thể sử dụng cú pháp sau -
Cú pháp
new int[10]();
Lưu ý rằng bạn chỉ phải sử dụng các dấu ngoặc đơn trống - ví dụ:bạn không thể sử dụng (0) hoặc biểu thức khác, đó là lý do tại sao điều này chỉ hữu ích cho việc khởi tạo mặc định.
Có các phương pháp khác để khởi tạo cùng một bộ nhớ bằng cách sử dụng fill_n, memset, v.v. mà bạn có thể sử dụng để khởi tạo các đối tượng thành các giá trị không mặc định.
ví dụ
#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); }