Sự khác nhau giữa các con trỏ được chia sẻ (chẳng hạn như tăng :: shared_ptr hoặc std :: shared_ptr) và phương thức thu gom rác (như được thực hiện trong Java hoặc C#) là gì? Cách tôi hiểu nó, các con trỏ được chia sẻ theo dõi số lần các biến trỏ đến tài nguyên và sẽ tự động hủy tài nguyên khi số đếm đạt đến 0. Tuy nhiên, sự hiểu biết của tôi là bộ thu gom rác cũng quản lý tài nguyên bộ nhớ, nhưng yêu cầu tài nguyên bổ sung để xác định xem một đối tượng vẫn đang được giới thiệu và không nhất thiết phải hủy tài nguyên ngay lập tức.Bộ sưu tập rác so với các con trỏ chia sẻ
Tôi có đúng trong các giả định của mình không và có bất kỳ khác biệt nào khác giữa việc sử dụng bộ thu gom rác và con trỏ được chia sẻ không? Ngoài ra, tại sao bất cứ ai từng sử dụng một bộ thu gom rác trên một con trỏ chia sẻ nếu chúng thực hiện các tác vụ tương tự nhưng với các số hiệu suất khác nhau?
Sử dụng các con trỏ được chia sẻ ** là ** kỹ thuật thu thập rác. Nhiều người thu gom rác thực hiện, ít nhất là bước đầu tiên, tính toán tham chiếu. –