Có cách nào sử dụng STL containters với các phần tử không thể sao chép không?Cách tạo vùng chứa các phần tử không thể sao chép
một cái gì đó như thế này:
class noncopyable
{
noncopyable(noncopyable&);
const noncopyable& operator=(noncopyable&);
public:
noncopyable(){};
};
int main()
{
list<noncopyable> MyList; //error C2248: 'noncopyable::noncopyable' : cannot access private member declared in class 'noncopyable'
}
Điểm tốt! std :: unique_ptr có thể là một lựa chọn cho anh ta nếu anh ta sử dụng một trình biên dịch khá mới với C++ STL mới. – jdehaan
Tôi phải giải quyết vấn đề của mình bằng cách loại bỏ nhu cầu sao chép sâu phức tạp của đối tượng. Tôi đã chọn câu trả lời này vì nó trả lời câu hỏi của tôi trực tiếp. Nhưng một trong những khác là tốt quá! – Vargas
Nếu đây là những yêu cầu, tại sao có thể lưu trữ một unique_ptr trong một vector hoặc danh sách? unique_ptr không phải là copy-constructible. –