별칭의 별칭?
답변
참조에 대한 참조를 만들 수없고 C++에는 참조 참조 형식이 없습니다.
당신은 예를 들어, 다른 참조를 초기화하는 참조를 사용하는 경우 :
int i = 1;
int &a = i;
int &b = a;
그런 다음 당신이 실제로했던하는 것은
이 b
에 a
의을 referand 바인딩됩니다.
a
은
i
이 같은 개체의 이름이므로 결과적으로
int &b = a;
은
int &b = i;
과 똑같은 효과를 나타냅니다. 따라서 동일한 객체에 대한 두 개의 참조 인
i
이 있습니다.
동일한 기능에서 두 개의 참조가있는 이유를 즉시 생각할 수는 없지만 참조 매개 변수를 취하는 f
함수가있는 경우 일반적으로 여러 참조를 만들고 다른 함수 g
또한 참조 매개 변수를 사용합니다. 그런 다음 f
및 g
에는 각각 동일한 객체에 대한 참조가 있습니다.
C++ 98에서는 참조 형식에 대한 참조를 형식화하는 것이 불법입니다. C++ 11에는 새로운 참조가 붕괴되어 규칙이 있습니다. 즉, 참조에 대한 참조가 여전히 단순한 참조임을 의미합니다 (단, lvalue 및 rvalue 참조에 관한 미묘함이 있음). 이 코드를 고려 : C++ 98
typedef int & ir;
int a;
ir & b = a;
이, 마지막 줄은 불법,
ir &
유효한 유형 (참조에 대한 시도 참조)하지 않기 때문에. C++ 11에서는 참조가 붕괴되었고
ir &
은
int &
과 같습니다.
참조는 변경할 수 없으며 일단 초기화되면 대상 참조를 변경할 수 없음을 명심하십시오. 위의 코드에서 b
은 항상 a
의 별칭이되며 별칭으로 변경할 수 없습니다. 따라서 이중 간접 참조가 필요하지 않습니다. 일반적인 간접 참조로 이미 수행 할 수있는 것보다 더 많은 작업을 수행 할 수 없기 때문입니다.
완전성을 위해 참조 축소 규칙은 다음과 같습니다. T
이 참조 유형이 아니라고 가정합니다. 그런 다음 개념적으로 다음과 같이 나타냅니다.
(T&)& == T& (T&)&& == T& (T&&)& == T& (T&&)&& == T&&
죄송 합니다만,이 질문자의 이야기가 아닌 것 같습니다. 그냥 확인 - 참조 붕괴 규칙은'ir &'철자'int &'의 다른 방법 일 뿐이라는 것을 의미합니까? 그래서 내 진술은 "참조에 대한 참조 유형이 없습니다"C++ 11에서 여전히 사실입니까? –
@SteveJessop : 나는 OP가 무엇인지 모릅니다. 실제로 참조 유형에는 참조가 없습니다. 참조가 변경 불가능하기 때문에 원래의 참조로 수행 할 수없는 작업을 수행 할 수있는 아무 것도 없기 때문에 이러한 이중 간접 참조가 필요한 이유가 없습니다. –
감사합니다. 다만 굴욕적인 교정을하지 않아도되는지 확인하고 싶습니다 .- –
- 1. 방지 bash는 별칭
- 2. 쿼리에 별칭의 결과를 가져
- 3. Oracle 별칭의 큰 따옴표
- 4. PowerShell에서 별칭의 이름을 바꾸는 방법은 무엇입니까?
- 5. 별칭 대상 python 변경
- 6. Doctrine의 네임 스페이스 별칭
- 7. Ruby 별칭의 구문은 어떻게 허용됩니까?
- 8. 별칭 이름을 가져올 수 없습니까?
- 9. 별칭
- 10. 별칭/
- 11. 별칭 개체에 별칭 형식 적용
- 12. 요청한 별칭 중 일부가 존재하지 않습니다. events.create
- 13. WebsitePanel : 프로그래밍 방식으로 도메인 별칭 추가/제거
- 14. 모든 Finder 별칭의 대상을 쿼리하는 방법은 무엇입니까?
- 15. 검색 엔진 최적화 (SEO) 웹 사이트 별칭 최적화
- 16. where 절에있는 select 절의 별칭 및 별칭
- 17. __import__는 별칭 이름을 어디에서 가져 옵니까?
- 18. PsIsContainer의 별칭?
- 19. LS 별칭
- 20. 별칭 설치
- 21. 별칭 sql
- 22. 사용 별칭
- 23. Firebird 별칭
- 24. 재사용 별칭
- 25. HQL 별칭
- 26. 템플릿 별칭
- 27. 유형 별칭의 인스턴스를 만들면 "클래스 유형 필요"오류가 발생합니다.
- 28. git 별칭의 이름에 마침표 (.)를 사용할 수 있습니까?
- 29. 코드 별칭 앞에 테이블 별칭 db prefix 접두어
- 30. sed를 사용하여 .bashrc 파일의 별칭 목록 끝에 별칭 추가
아니요, C++에서는 불가능합니다. –