2010-07-01 3 views
7

가능한 중복 :
Why ‘this’ is a pointer and not a reference?포인터가 아니라 'this'를 참조하면 나중에 되돌아 보는 것이 좋을까요?

포인터보다는 역사적 언어 결정 이외의 참조가 될 ++ C에서 this에 대한 이유가 있나요? 예를 들면, 그것은 이상한 느낌을 준다. 복사 생성자 또는 할당 연산자는 모두 참조을 "that"이 아닌 포인터로 허용합니다. this을 만들 때 언어

+0

나는 속세 기가다고 확신하지만 비슷한 문제가 있다는 것을 알고있다. – Cogwheel

+3

[왜 'this'가 포인터이고 참조가 아닌가?] 가능한 복제본인가?] (http : // stackoverflow. co.kr/questions/645994/why-this-a-pointer-and-not-a-reference) - [google] (http://www.google.com/search?q=site%3Astackoverflow.com)을 통해 찾을 수 있습니다. + c % 2B % 2B + 왜 +가 + this + not + a + reference인지). –

답변

4

References didn't exist

[이 복제 가능한 같은 느낌 않지만 솔직히,이 질문을 찾을 수 없습니다].

비얀 스트로브 스트 룹의 "디자인과 진화 C++의"에서
+1

그것이 실제로 그렇다면 확실한 답입니다. – doublep

+0

인용 할 소스를 찾으려고합니다. – Cogwheel

+0

말의 입에서 곧바로 들어갑니다 :) – Cogwheel

7

, 애디슨 - 웨슬리, 1994, PP 39 ~ 40 :

때때로

, 사람들이 this 포인터가 아닌 참조 왜 물어 이유는 self 대신 this이라고합니다. this이 Classes와 함께 C에 도입되었을 때, 언어에는 참조가 없었고 C++은 Smalltalk보다는 Simula에서 용어를 빌려 왔습니다.

+0

또한 여기 : http://www2.research.att.com/~bs/bs_faq2.html#this –

+0

감사합니다, 그 대답입니다. – doublep

관련 문제