Nếu tôi cócon trỏ - trùng lặp đối tượng dụ
Class *a1 = new Class();
Class *b1 = a1;
delete b1;
delete a1; //this will give a double free or corruption message;
nếu tôi xóa con trỏ b, nó giống như xóa con trỏ một phải không? Vì cả hai đang trỏ vào cùng một thể hiện của Class. Vì vậy, làm thế nào tôi có thể sao chép các ví dụ của a1 để b1 để khi tôi xóa b1, a1 là không bị xóa.
Class *a1 = new Class();
Class *b1 = a1;
//how do I duplicate the instance a1 is pointing
//so that when I delete b1, a1 still exists.
delete b1;
delete a1; //this is still valid
Cảm ơn.
Không chắc chắn về tất cả các con trỏ là cần thiết, nhưng 'Class * b1 = new Class (* a1);' nên làm điều đó. – chris
Đảm bảo rằng hàm tạo bản sao của bạn là OK và tạo bản sao mới từ * a1. – halfelf
Điều đó thật dễ dàng @. @ Cảm ơn – tambalolo