연산자 오버로딩과 관련하여 사용자 정의 변환과 사용자 정의 연산자의 차이점은 무엇입니까?사용자 정의 변환과 사용자 정의 연산자의 차이점은 무엇입니까?
답변
"사용자 정의 변환을 사용하면 생성자 또는 변환 함수를 사용하여 객체 변환을 지정할 수 있습니다. 사용자 정의 변환은 초기화 프로그램, 함수 인수, 함수 반환 값, 표현식 피연산자, 표현식 변환을위한 표준 변환 외에도 암시 적으로 사용됩니다 반복문, 선택 문 및 명시 적 유형 변환을 제어합니다. "
나는 사용자 정의 연산자 (기술적으로) C++에서 사용할 수 있는지 모르겠지만, 연산자는 오버로드 할 수 있습니다. C++
에서
http://www.cs.caltech.edu/courses/cs11/material/cpp/donnie/cpp-ops.html
는 overloadable 할 수 있습니다 사용자 정의 사업자의 개념이 없습니다. 단지 약간의 예외와 함께, 연산자를 기존 (. , *는 ::, :.?, sizeof 연산자)는 오버로드 할 수 있습니다.
아니요, 사용자 정의 변환이 아닙니다. 이것은 컴파일러가 정의한 업 캐스팅입니다. 사용자 정의 변환은 포인터가 아니라 클래스 유형의 값에서 작동해야합니다 (원본 또는 대상 중 하나가 포인터가 될 수 있지만 둘 다가 아닙니다). –
@Ben Voigt : 컴파일러가 사용자 정의 유형에서 작동하므로 사용자 정의 유형 변환으로 간주 할 수 없습니다. – Mahesh
@Mahesh : 귀하의 예는 (원시) 포인터 유형에서 다른 (원시) 포인터 유형으로 변환하고있었습니다. (원시) 포인터는 사용자 정의 유형이 아닙니다. 사용자 정의 유형의 변환은 자동으로 사용자 정의 변환이 아니며 변환을 수행하기 위해 사용자 제공 코드를 실행하는 경우에만 사용자 정의 변환이라고합니다. –
사용자 정의 변환은 다음 중 하나입니다
- 소스 유형의 단일 매개 변수를 사용하여 호출 할 수있는 대상 유형의 생성자는 (가 기본값이있는 경우 더 인수가 존재할 수)
또는
- 이름의 소스 유형의 비 정적 멤버 함수
operator DESTTYPE()
,174,
두 번째 옵션은 전통적인 연산자에 과부하가 걸린 경우와 마찬가지로 operator
키워드를 사용합니다.
(참고 :.이 모든 공식적으로 C++ 표준의 섹션 [class.conv]
에서 설명)
- 1. 레일 사용자 정의 사용자 정의
- 2. 사용자 정의 - 사용자 정의 속성
- 3. 사용자 정의 컨트롤 라이브러리와 사용자 지정 컨트롤 라이브러리의 차이점은 무엇입니까?
- 4. 사용자 정의/사용자 컨트롤
- 5. Qt의 사용자 정의 위젯 사용자 정의 스타일
- 6. Windows Form - 사용자 정의 사용자 정의 컨트롤
- 7. asp.net 사용자 정의 웹 사용자 정의 - 버튼
- 8. 사용자 정의 AuthorizeAttribute + 사용자 정의 SiteMapProvider 관련?
- 9. 계층 구조 사용자 정의 사용자 정의 컨트롤
- 10. wcf에서 사용자 정의 사용자 정의 유효성 확인
- 11. silvelight 사용자 정의 컨트롤의 사용자 정의 바인딩
- 12. C# 사용자 정의 사용자 정의 속성
- 13. 추가 사용자 정의 속성은 사용자 정의 toolpart
- 14. 사용자 정의 글꼴을 사용하는 사용자 정의 텍스트보기
- 15. 사용자 정의
- 16. 사용자 정의
- 17. CIL에서 사용자 정의 속성 정의
- 18. MS Word에 사용자 정의 사용자 정의 컨트롤을 포함시키는 방법은 무엇입니까?
- 19. 브라우저에서 사용자 정의 사용자 정의 태그를 인식하게하는 방법은 무엇입니까?
- 20. 사용자 정의 사용자 클래스로 변환
- 21. Ocaml은 사용자 정의 연산자의 우선 순위를 어떻게 결정합니까?
- 22. LaTeX - 사용자 정의 'wrapfig'환경 정의
- 23. ASP.NET MVC로 사용자 정의 사용자 모델 (사용자 정의 필드 등)
- 24. ASP.NET : 사용자 정의 사용자 테이블이있는 사용자 정의 멤버쉽 공급자
- 25. 사용자 정의 액티비티에서 코드 인라인
- 26. 변환과 구문 분석의 차이점은 무엇입니까?
- 27. ASCX 사용자 컨트롤의 사용자 정의
- 28. 사용자 정의 컨트롤의 사용자 이벤트
- 29. 개별 사용자 지정 사용자 정의
- 30. django 사용자 정의 명령
는 C'에는 사용자 정의 연산자는 없다 ++ '. – Mahesh
@Mahesh : 사용자 정의 형식 변환 연산자를 제외합니다. –