Tôi nhận được bối rối về các nhà xây dựng bản sao QList bởi documentation.Qt 4.5 - QList :: QList (const QList &) - đây có phải là một hàm tạo bản sao sâu không?
QList :: QList (const QList & khác) xây dựng một bản sao của khác.
Thao tác này mất thời gian không đổi, vì QList được chia sẻ hoàn toàn. Điều này giúp trả về một QList từ một hàm rất nhanh. Nếu một phiên bản được chia sẻ được sửa đổi, nó sẽ được sao chép (sao chép trên ghi) và mất thời gian tuyến tính.
Sau đó, trên liên kết về việc được chia sẻ hoàn toàn, nó nói về tính tham chiếu và sao chép trên ghi. Đây có phải là một bản sao sâu hay chỉ là một bản sao nông?
... hoặc trên danh sách gốc! Về cơ bản, bất cứ lúc nào dữ liệu danh sách sẽ được thay đổi, một bản sao sâu được tạo ra. – Thomi
Ồ, tất nhiên rồi! Cảm ơn, tôi đã chỉnh sửa câu trả lời của mình để tránh nhầm lẫn với những người không đọc nhận xét. – rohanpm
Chỉ muốn theo dõi rằng tôi đã phạm sai lầm - nếu bạn giữ một QList hoặc QVector của con trỏ, không mong đợi các nhà xây dựng bản sao sâu mặc định để giúp bạn thực hiện các trường hợp mới của những gì con trỏ trỏ đến ... – Extrakun