2012-08-25 8 views
6

Tôi đặt cược điều này có thể đã được hỏi trước, nhưng vì tham chiếu (int & tên) được thực hiện giống như tính tham chiếu của người tìm kiếm, không thể tìm thấy một thứ gì.Con trỏ thông minh và tham khảo

Tại sao không bao giờ đề cập đến các tham chiếu như thay thế cho con trỏ thông minh? Là nó chỉ cho trường hợp null, hoặc là có cái gì khác? Những lợi thế/bất lợi nào có thể sử dụng?

Trả lời

7

Tôi nghĩ rằng bạn có thuật ngữ của bạn được trộn lẫn. Một tham chiếu và thuật ngữ tham chiếu đếm không thực sự nói về cùng một điều.

Tham chiếu và con trỏ thông minh hoặc thậm chí là con trỏ cho vấn đề đó rất khác và không thể hoán đổi cho nhau.

Không thể xếp lại tham chiếu. Có nghĩa là một khi bạn có một tham chiếu, nó chỉ có thể đề cập đến những gì nó ban đầu được đề cập đến. Tham chiếu chỉ là một địa chỉ bộ nhớ.

Mặt khác, con trỏ trỏ đến địa chỉ bộ nhớ; nó có thể được thay đổi để trỏ đến các địa chỉ bộ nhớ khác nhau.

Khi ai đó nói con trỏ thông minh tính tham chiếu, nghĩa là con trỏ thông minh đang đếm số lượng đối tượng đang trỏ đến bộ nhớ mà con trỏ thông minh trỏ tới. Điều này khác với tham chiếu.

Tôi hy vọng điều đó sẽ hữu ích.

+0

Tôi biết rõ rằng tính tham chiếu và tính tham chiếu không giống nhau. Đó là những người tìm kiếm, như Google và người ở đây, những người không thể thấy sự khác biệt (ngữ cảnh) và hiển thị cho tôi các trang web liên quan đến tính tham chiếu và con trỏ thông minh, thay vì tham chiếu và con trỏ thông minh – efaj

+0

Nhưng tôi không biết tài liệu tham khảo không được chuyển đổi/hoán đổi hoặc thực hiện để tham khảo cái gì khác. Bây giờ với điều đó ... đó là lý do tại sao họ không thay thế con trỏ thông minh. – efaj