2010-01-29 45 views
10

Tại sao con trỏ this trong C++ là con trỏ chứ không phải tham chiếu?Tại sao con trỏ "này" trong C++ là một con trỏ chứ không phải là một tham chiếu?

Có trường hợp sử dụng nào mà tôi thiếu mà làm cho "điều này" làm con trỏ hữu ích hơn tham chiếu không?

Nếu không, có bất kỳ ý nghĩa thiết kế/cân nhắc về thiết kế ngôn ngữ nào liên quan đến việc sử dụng nó làm con trỏ không?

+0

Đã bỏ phiếu để mở lại. Như hiện nay đã nêu câu hỏi có một câu trả lời rõ ràng - mà James McNellis đăng. –

+0

@KeithThompson, tôi nghĩ mọi người quá nhanh để đóng một câu hỏi mà họ nghĩ không thể trả lời được. Nếu bạn muốn tình nguyện một upvote cho người khác ở đây nó là: http://stackoverflow.com/questions/13652006/why-accessing-to-class-variable-from-within-the-class-needs-self-in-python –

Trả lời

19

Từ Bjarne Stroustrup's C++ Style and Technique FAQ:

Tại sao "này" không phải là một tài liệu tham khảo?

Vì "điều này" đã được đưa vào C++ (thực sự thành C với Lớp học) trước khi các tham chiếu được thêm vào. Ngoài ra, tôi đã chọn "này" để theo dõi việc sử dụng Simula, thay vì sử dụng Smalltalk (sau này) của "self".

Các vấn đề liên quan