제 질문은 어떻게 연산자 [] []을 (를) 오버로드 할 수 있습니까? 그 밖에도 어떤 일이 벌어지고 있습니까?과부하 연산자 [] []
답변
올바른 용어는 연산자의 오버로드입니다.
일종의 [][]
을 구현하려면 연산자 []
이 다시 오버로드되는 첫 번째 []
에 대한 프록시 개체를 반환해야합니다.
()()
의 체인은 비슷한 방법으로 수행 할 수 있습니다. 슬라이드 조작 장르
, ++ 사업자 c를하지 실제로 (내가 --->
을 의미하지 않았다 당신을 가정하고 마지막에 등), 그러나 조합 What is the "-->" operator in C++?
고마워, 그 장면 뒤에서 무슨 일이 일어 났는지 알아? for ** n ** 'th [] – Bizzu
프록시 객체는 * degree에서 templatised 된 템플릿이 될 수 있습니다. 그러나 이것은 상당히 엉망이 될 수 있습니다. 변수에'()'를 사용하지 않는 이유는 무엇입니까? 인자리스트가 무엇입니까? – Bathsheba
사용자 정의 타입에 대해 여러 인자를 받아들이도록 operator []를 확장하면 행복한 캠프가됩니다 – StoryTeller
운영자 [][]...
, ()()...
및 -->
참조 C++ 연산자.
예를 들어 [][][]
을 입력하면 []
이 왼쪽 값에 적용되고 특정 값이 반환되고 []
이 다시 적용된 다음 세 번째 동일한 값이 반환됩니다. 따라서 실제로는 [][][]
이 없지만 간단히 []
이 3 번 적용됩니다.
int a[2] = {0,1};
int b[3] = {2,3,4};
int *c[2] = {a,b};
c[0][1]; // [0] first extracts 'a' from 'c', then [1] extracts 1 from a (the value in the second index).
()()()
에 대해서도 마찬가지입니다.
-->
또한 여기 것을 제외하고는 동일한 사상을 따르는 그것과 비교한다하지 동일한 연산자의 반복 결합하지만, 좌변을 반환하고 1로 감소 --
의 조합 및 >
이며 왼손쪽에는 오른쪽이 있습니다.
- 1. 과부하 연산자 =
- 2. 과부하 연산자 *
- 3. 과부하 연산자 =
- 4. 과부하 연산자 = 비회원으로
- 5. 연산자 << 과부하
- 6. C++, + 연산자 과부하 매트릭스
- 7. 과부하 참조 연산자
- 8. 과부하 연산자 = 이중 일
- 9. 과부하 ++ 및 + 연산자
- 10. 과부하 연산자 + 숯
- 11. 다항식 과부하 연산자
- 12. PHP 과부하 "="연산자
- 13. jQuery UI 연산자 과부하?
- 14. 부스트 파이썬 과부하 연산자()
- 15. 과부하 연산자 문제 [
- 16. 과부하 연산자 = in C#
- 17. F # (.. ..) 연산자 사용/과부하
- 18. 과부하 연산자 >>
- 19. 신속한 과부하 연산자
- 20. 과부하 연산자 유형
- 21. 과부하 +/- 단항 연산자
- 22. 연산자 + 과부하 문제
- 23. 과부하 템플릿 연산자 *
- 24. 과부하 스트림 조작 연산자
- 25. 간단한 연산자 과부하 예외
- 26. 과부하 연산자 = 오류
- 27. 연산자 과부하 정보
- 28. C++ 연산자 과부하 []
- 29. MATLAB - 과부하 할당 연산자
- 30. C++ 과부하 연산자 ==
둘 모두 단일 운영자입니다. – Joey
관련 : https://stackoverflow.com/questions/1642028/what-is-the-operator-in-c?rq=1 – Murphy
질문 :이 질문은 [XY 문제]처럼 냄새가납니다. (http://xyproblem.info). 성취하려는 것을 말할 때 더 유용한 답변을 얻을 수 있습니다. – Murphy