Tôi chỉ đọc một comment by GMan rằngCác trình khởi tạo trống có được ưu tiên cho việc khởi tạo mặc định các thành viên không tách rời không?
class A
{
public:
A() :
m_ptr() // m_ptr is implicitly initialized to NULL
{ }
};
nên được ưa thích hơn
class A
{
public:
A() :
m_ptr(NULL) // m_ptr is explicitly initialized to NULL
{ }
};
Thông báo việc thiếu NULL
trong ví dụ đầu tiên.
GMan có đúng không? Điều này có thể mang tính chủ quan, vì vậy "Bạn có muốn khởi tạo trống để khởi tạo mặc định không?" có thể phù hợp hơn.
Ngoài ra nếu bạn thích công cụ khởi tạo trống, điều này có áp dụng cho các thành viên không tách rời khác không?
class B
{
public:
B() :
m_count(),
m_elapsed_secs()
{}
private:
std::size_t m_count;
float m_elapsed_secs; //the elapsed time since instantiation
};
Tất nhiên, hãy bảo vệ quan điểm của bạn với mô tả lý do tại sao người ta nên ưa thích hơn người kia.
Ai đó có thể sáng tạo hơn tôi đưa ra một tiêu đề tốt hơn để tôi ngừng nhận được câu trả lời sai? Ai có thể nghĩ rằng bạn * có thể * nhận được câu trả lời sai cho một câu hỏi thực hành tốt nhất. –
Tôi nghĩ rằng tiêu đề là rõ ràng, và câu hỏi cũng được viết. Sau đó, một lần nữa, tôi đã biết những gì bạn đang hỏi về. Câu trả lời sai có lẽ chỉ là hiểu lầm của ngôn ngữ chứ không phải là câu hỏi của bạn. – GManNickG