Khi viết một hàm tạo bản sao cho một lớp chứa con trỏ đến bộ nhớ được cấp phát động, tôi có một câu hỏi.Viết bản sao sâu - sao chép giá trị con trỏ
Làm cách nào tôi có thể chỉ định rằng tôi muốn giá trị của con trỏ của đối tượng được sao chép từ đối tượng được sao chép sang con trỏ của đối tượng được sao chép sang đối tượng. Rõ ràng một cái gì đó như thế này không hoạt động ...
*foo = *bar.foo;
vì, đối tượng thanh đã được xóa (mục đích sao chép các đối tượng ở nơi đầu tiên), và điều này chỉ có các sao chép vào điểm foo đối tượng để cùng một nơi.
Giải pháp ở đây là gì? Làm cách nào để lấy giá trị của bộ nhớ được cấp phát động và sao chép nó vào một địa chỉ khác?
Câu hỏi làm cho không có ý nghĩa. Hãy thử và cải cách nó, có thể đăng thêm mã để minh họa những gì bạn đang hỏi. –
Cần thêm thông tin: Loại foo sẽ tốt. Bất kỳ thành viên nào khác. Một lời giải thích lý do tại sao bạn không sử dụng một con trỏ thông minh? –
Giao dịch này với mảng nhưng có thể hữu ích: http://stackoverflow.com/questions/255612/c-dynamically-allocating-an-array-of-objects/255744#255744 –