C++ 연산자
C++ 연산자
C++에서는 C언어의 모든 연산자를 포함하고 있으며, 몇몇 새로운 연산자도 추가하고 있습니다.
C++에서 새롭게 추가된 대표적인 연산자는 다음과 같습니다.
1. 범위 지정 연산자(scope resolution operator)
2. 멤버 포인터 연산자(pointer-to-member operator)
3. typeid 연산자
범위 지정 연산자(scope resolution operator)
C++에서 가장 우선순위가 높은 연산자는 바로 범위 지정 연산자입니다.
범위 지정 연산자(::)는 여러 범위에서 사용된 식별자(identifier)를 식별하고 구분하는데 사용하는 연산자입니다.
이러한 식별자로는 변수, 함수 또는 열거체가 올 수 있습니다.
범위 지정 연산자를 변수의 이름 앞에 붙이면 해당 변수는 전역으로 사용하라는 의미로 쓰이게 됩니다.
또한, 클래스에 이 연산자를 사용하면 네임스페이스 멤버를 식별하거나, 클래스의 정적 멤버를 호출할 수 있습니다.
C++에서 범위 지정 연산자를 사용하기 위한 문법은 다음과 같습니다.
문법
1. ::식별자
2. 클래스이름::식별자
3. 네임스페이스::식별자
4. 열거체::식별자
멤버 포인터 연산자(pointer-to-member operator)
C++에서는 멤버 포인터 연산자를 사용하여 클래스의 멤버를 가리키는 포인터를 정의할 수 있습니다.
이러한 멤버 포인터 연산자는 다음과 같이 두 가지 형태가 있습니다.
1. 왼쪽의 피연산자가 클래스 타입의 객체인 경우 : .*
2. 왼쪽의 피연산자가 클래스 타입의 객체를 가리키는 포인터인 경우 : ->*
C++에서 멤버 포인터 연산자를 사용하기 위한 문법은 다음과 같습니다.
문법
1. 클래스타입의객체.*멤버이름
2. 클래스타입객체의포인터->*멤버이름
C++ 클래스에 대한 더 자세한 사항은 C++ 클래스 수업에서 확인할 수 있습니다.
typeid 연산자
C++에서는 typeid 연산자를 사용하여 객체의 타입에 관한 정보를 확인할 수 있습니다.
이러한 typeid 연산자은 런타임에 객체의 타입을 결정하는 데 사용합니다.
또한, 템플릿에서 템플릿 매개변수의 타입을 결정할 때도 사용합니다.
문법
typeid(표현식)