Việc thêm bất kỳ thành viên không thể sao chép nào vào một lớp sẽ ngăn chặn việc tạo bản sao và toán tử gán tự động. Tại sao tăng yêu cầu thừa kế để sử dụng noncopyable?tại sao boost :: noncopyable yêu cầu thừa kế
Tôi nghĩ rằng tôi không đơn độc trong sở thích phong cách của tôi cho
class MyUtility : public MyBase
{
noncopyable guard;
...
};
như trái ngược với
class MyUtility : public MyBase , private noncopyable
{
...
};
Dave Abrahams là một chàng trai thông minh, vì vậy ông có thể coi khả năng này. Tôi đang thiếu gì? Thừa kế là gì?
bắt buộc tham chiếu đến "Tối ưu hóa cơ sở Empty" phép trình biên dịch cho những người không hiểu câu trả lời :) –
@Matthieu M. Làm xong :). – UmmaGumma
Tôi chấp nhận điều này như là câu trả lời, nhưng nó cũng nên đề cập đến thực tế là cách tiếp cận của boost ngăn cản phân lớp cung cấp một cách rõ ràng chức năng sao chép. –