Các biến riêng là một cách để che giấu sự phức tạp và chi tiết triển khai cho người dùng của một lớp. Đây là một tính năng khá hay. Nhưng tôi không hiểu tại sao trong c ++, chúng ta cần đặt chúng vào tiêu đề của một lớp. Tôi thấy hai nhược điểm khó chịu này:
- Nó đóng tiêu đề từ người dùng
- Nó buộc biên dịch lại tất cả các thư viện máy khách bất cứ khi nào nội bộ được sửa đổi
Có một lý do khái niệm đằng sau yêu cầu này? Có phải chỉ để giảm bớt công việc ra khỏi trình biên dịch?
struct foo{};
) không được phép, nhưng khai báo chuyển tiếp ( struct foo;
) là.