Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 오버로드할 수 없는 연산자

<시간/>

C++에서는 +, -, [], -> 등과 같은 일부 연산자를 오버로드할 수 있습니다. 그러나 어떤 연산자도 init에 오버로드할 수 없습니다. 일부 연산자는 오버로드할 수 없습니다. 이러한 연산자는 다음과 같습니다.

  • ? "." 회원 액세스 또는 점 연산자
  • ? "? :” 삼항 또는 조건부 연산자
  • ? "::" 범위 확인 연산자
  • ? ".*" 멤버 연산자에 대한 포인터
  • ? "sizeof" 개체 크기 연산자
  • ? "typeid" 개체 유형 연산자

이러한 연산자는 오버로드하면 심각한 프로그래밍 문제가 발생하기 때문에 오버로드될 수 없습니다.

예를 들어 sizeof 연산자는 개체 또는 데이터 유형의 크기를 피연산자로 반환합니다. 이것은 컴파일러에 의해 평가됩니다. 런타임 중에는 평가할 수 없습니다. 그래서 우리는 그것을 오버로드 할 수 없습니다.