class C{
//methods and properties
}
void C::some_method(C* b){
delete this;
this = b;
}
này mang lại cho tôi follwing lỗi khi biên dịch:thay đổi 'này' con trỏ của một đối tượng để chỉ đối tượng khác nhau
error: lvalue required as left operand of assignment
ý định của tôi: Giả sử có những đối tượng a và b của lớp C. nội dung của lớp C có thể rất lớn và trường bằng cách sao chép trường có thể rất tốn kém. Tôi muốn tất cả nội dung của 'a' được thay thế bởi b một cách kinh tế.
Trình tạo bản sao mặc định có thực hiện tác vụ dự định không?
tôi tìm thấy một cái gì đó gọi là 'di chuyển constructor' http://akrzemi1.wordpress.com/2011/08/11/move-constructor/
Có lẽ, nó có thể nhận được hiệu quả mà tôi muốn.
bạn có chắc chắn bạn có thể làm điều gì đó như thế này không ?? – DonCallisto
Vì vậy, nó có. Bạn vừa phát hiện ra rằng 'điều này' không thể gán lại được bởi vì * điều đó sẽ không có ý nghĩa gì cả *. Bạn có câu hỏi nào không? Không thể thay đổi –
'this'. Mục tiêu cấp cao hơn bạn đang cố gắng đạt được là gì? –