2009-10-16 4 views
40

저는 항상 이것을 "화살표 연산자"라고 부릅니다.하지만 공식 이름이 틀림 없습니다. 나는 C++ 표준을 빨리 보았으며 이름으로 언급하지 않았다.C++의 화살표 (->) 연산자의 공식 이름은 무엇입니까?

+0

C99 초안에서 해당 이름에 대한 언급을 찾을 수 없습니다. 그 문서에서 항상 "-> 연산자"라고 부릅니다. –

+0

@Mehrdad : 인덱스에서 "화살표 연산자"라고 부릅니다. – AnT

+3

AndreyT : 인덱스에서 "화살표 연산자 (->)"와 "포인터 연산자 (->)"를 볼 수 있습니다. –

답변

59

C++ 표준은 "화살표"(§5.2.5)라고 부릅니다.

+3

처음에 5.2.4에서 언급했으나 도트 연산자로도 보편적으로 사용되었습니다. –

8

Wikipedia's list of operators in C and C++에 따르면이를 "포인터 별 멤버"라고합니다.

하지만 솔직히 말해서, 나는 항상 그것을 "화살"이라고 불렀습니다. 예를 들어 코드 a->b이 있다면 "a arrow b"라고 읽습니다.

+1

나는 그것을 같은 방식으로 읽었다. 이유가 궁금합니다 .... (추신 : 안녕하세요!) –

+1

질문을 게시하기 전에 위키피디아 문서를 발견했습니다. 테이블에있는 "이름"열에 나열된 사실에도 불구하고, 그 이름은 설명이 아니라 이름이라고 생각하는 경향이 있습니다. – rmeador

27

Bjarne Stroustrup은 구조 포인터 참조 해제 연산자 (TC++ PL Special Edition, 102 페이지)를 호출합니다. 색인에서 그는 그것을 "회원 액세스"운영자로 지칭합니다.

"공식적인"사람인지는 모르지만 그 사람은 언어를 작성한 것입니다.

+1

이것이 사실 인 것을 나는 확신 할 수있다. (예, 사실 C++ 프로그래밍 언어 스페셜 에디션에 가서 점검해 보았습니다.) –

+19

그는 C를 발명하지 않았으며, 그것이 연산자의 출처입니다. – asveikau

+2

asveikau, 두 진술 모두 정확하지만 질문과 관련이 있습니까? – John

12

이 연산자의 정식 명칭은 클래스 구성원 액세스 연산자입니다 (5.2.5 참조). 이 이름은 .-> 연산자에 모두 첨부되어 있지만 그룹 이름이 더 많습니다. .은 표준 텍스트에 도트 연산자->화살표 연산자이라고도합니다.

나중에 추가 : 위의 내용은 C++ 표준에 적용됩니다. C 표준은 ->으로, 색인 연산자을 색인으로 만 사용합니다. 이 문서의 주요 텍스트는 특정 이름을 사용하는 것 같지 않습니다.

0

이소 C 표준은 ->운영자 또는 부재 액세스->오퍼레이터를 호출한다. 그래서 분명히 내가 그냥 포인터가 또는 화살표 말,

개인적으로 C에서 "공식적인"이름이 없습니다.

4

그냥 점 (점이 아님)입니다.

1

역 참조 포인터가

1

나는 그것이 몇 가지 방법이라고 들었습니다, 특히 중 하나가 다른 것보다 더 공식이었다 결코 확신했다.

  • 회원 선택 운영자
  • 포인터 역 참조 연산자
  • "화살표는 말았 어"

나는 다른 사람들이 확신 해요. 개인적으로 나는 책이나 공식에서 무엇이 불려지는지에 대해 덜 염려한다. 사람들이 내가 그것을 언급 할 때 의미하는 것을 알기를 더 많이 염려한다. 그래서 내 생각에 "화살 털이"는 가장 쉬운 이름이다. 무엇이 참조되고 있는지 명확하게 이해할 수 있습니다.

2

이 용어는 결코 관계자에있는,하지만 난 점 연산자를 호출하려는 직접 (클래스) 멤버 액세스 연산자하고 화살표 연산자 간접 (클래스) 멤버 액세스 연산자이과의 관계를 명확히하기 위해 간접 조작자.

2

ISO/IEC 9899 : 1999 (C99 표준)에 대한 색인은 '화살표 연산자'(자체 오른쪽 및 '구조체'아래에 있음)에 대한 세 개의 색인 항목이 있으며 섹션 6.5를 참조합니다. 2.3 (구조체와 공용체, Postfix 연산자 섹션 참조). 그러나 6.5.2.3 절의 '화살표'에 대한 언급이나 색인의 다른 모든 부분 ('화살표'의 다른 모든 모양은 '좁음'의 일부 또는 좁은 의미의 파생어 임)에 대한 언급이 없습니다.

따라서 Arrow는 C 표준에서 준 공식적으로 승인됩니다 (색인은 규범 적 또는 표준 설정이 아님).

0

연산자가 문맥에서 "발음되는"방법에 관한 최근 질문이있었습니다. 컨텍스트에서 "시간"이라고 발음되는 곱셈 연산자를 고려하십시오.

두 멤버 액세스 연산자 {. ->} 소유권을 나타 내기 위해 나는 그것을 대상에 대한 소유주로 선언합니다.

예 : fid-> collar() ... "fido 's collar"로 발음됩니다.

반면 소유물은 동사에 적합하지 않습니다. fido-> run() ... "fido runs"으로 발음됩니다.

+0

이것은 오프 토픽입니다. OP는 심볼이 무엇인지 불렀으며 C++ 표준을 인용 한 답변이 이미 제공되었습니다. 기호의 발음과 관련하여 또 다른 질문이있는 경우 여기보다는 의견을 제시해야합니다. – DMH

관련 문제