Vẫn còn nhiều trường hợp trong đó tham chiếu tới con trỏ thông minh là một ý tưởng hay. Một ví dụ rõ ràng là phương pháp gán của lớp con trỏ thông minh, chấp nhận tham chiếu đến một con trỏ thông minh khác làm tham số của nó.
Đặt phương thức chấp nhận tham chiếu con trỏ thông minh có nghĩa là tham số không tăng số tham chiếu nội bộ của con trỏ thông minh. Điều này có thể cải thiện hiệu suất - nhưng có lẽ không nhiều. Ngoài ra, có rất nhiều thứ mà phương pháp không thể thực hiện với tham chiếu - hoặc con trỏ thông minh ban đầu. Nếu bạn biết những điều này là gì và tránh chúng, đi qua tham khảo hoạt động tốt. Tất nhiên, mục đích của con trỏ thông minh là tránh phải biết những điều này.
Ngoài ra, nếu bạn có phương pháp sẽ sửa đổi giá trị của thông số con trỏ thông minh, chuyển như tham chiếu là bắt buộc, giống như bất kỳ loại nào khác.
Nguồn
2008-10-07 16:48:29
Đó là lý do tương tự để lưu trữ các tham chiếu đến các loại đối tượng khác là xấu, đối tượng có thể bị phá hủy và bạn sẽ có một tham chiếu lơ lửng. Con trỏ thông minh được cho là để giữ cho đối tượng mà chúng trỏ tới còn sống, nhưng chúng ta không nói về đối tượng được trỏ tới, chúng ta đang nói về chính đối tượng con trỏ thông minh. – bames53
Xem http://stackoverflow.com/questions/327573/c-passing-references-to-boostshared-ptr –