struct some_struct{
int a;
};
some_struct n = {};
n.a sẽ là 0 sau này;Khởi tạo rõ ràng cấu trúc/thành viên lớp
Tôi biết hình thức niềng răng của khởi tạo này được kế thừa từ C và được hỗ trợ để tương thích với các chương trình C, nhưng điều này chỉ biên dịch với C++, không phải với trình biên dịch C. Tôi đang sử dụng Visual C++ 2005.
Trong C kiểu này khởi
struct some_struct n = {0};
là đúng và sẽ zero-khởi tạo tất cả các thành viên của một cấu trúc.
Cặp dấu ngoặc đơn trống có phải là tiêu chuẩn khởi tạo không? Lần đầu tiên tôi thấy hình thức khởi tạo này trong hướng dẫn WinAPI từ msdn.
Khởi tạo bằng '{0}' cũng hợp lệ cho C89. – jamesdlin