Tôi vừa xem qua các trang ngẫu nhiên trên Cprogramming.com và nhận thấy trang hướng dẫn/ví dụ Constructors and Destructors. Họ đã sử dụng các phương pháp sau đây xác định một constructor:Lợi ích của định nghĩa hàm tạo này là gì
class String
{
private:
char *str;
int size;
public:
String() : str(NULL), size(0) { } // <- This statement
String(int size) : str(NULL), size(size) { // <- And this one
str = new char[size];
}
}
Tôi đã sử dụng tốt định nghĩa lỗi thời cũ của nhà xây dựng với sự kỳ diệu this
con trỏ:
String() {
this->str = NULL;
this->size = 0;
}
String(int size) {
this->size = size;
this->str = new char[size];
}
Có bất kỳ lợi ích bổ sung trong tuyên bố đầu tiên bên cạnh mã nhỏ hơn rõ ràng (ít số dòng)?
PS: Đã một vài năm kể từ lần cuối cùng tôi viết điều gì đó trong C++.
http://stackoverflow.com/questions/926752/why-should-i-prefer-to-use-member-initialization-list –