Tôi chỉ mới học được ngày hôm qua rằng việc chỉ định tham số cho các mục danh sách khởi tạo là tùy chọn. Tuy nhiên, các quy tắc cho những gì xảy ra trong trường hợp này là gì?Giá trị mặc định trong danh sách khởi tạo C++
Trong ví dụ dưới đây, ptr sẽ được khởi tạo thành 0, chuyển thành false và Thanh được tạo mặc định? Tôi đoán câu hỏi này là loại dư thừa, bởi vì sẽ có ít điểm trong danh sách initializer nếu giá trị đối số không xác định == hành vi undefined.
Tôi cũng có thể được trỏ đến phần của tiêu chuẩn C++ nêu rõ hành vi trong trường hợp các mục danh sách khởi tạo không được đưa ra đối số không?
class Bar
{
Bar() { }
};
class SomeClass;
class AnotherClass
{
public:
SomeClass *ptr;
bool toggle;
Bar bar;
AnotherClass() : ptr(), toggle(), bar() { }
// as opposed to...
// AnotherClass() : ptr(NULL), toggle(false), bar(Bar()) { }
};
Bản sao có thể có của [Danh sách khởi tạo constructor với khởi tạo trống] (https://stackoverflow.com/questions/11164394/constructor-initialization-list-with-empty-initialization) – Justin