..

Search

19) C++ 연산자

19) C++ 연산자

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++ 클래스 수업에서 확인할 수 있습니다.

 

C++ 클래스 수업 확인 =>


typeid 연산자

C++에서는 typeid 연산자를 사용하여 객체의 타입에 관한 정보를 확인할 수 있습니다.

이러한 typeid 연산자은 런타임에 객체의 타입을 결정하는 데 사용합니다.

또한, 템플릿에서 템플릿 매개변수의 타입을 결정할 때도 사용합니다.

 

문법

typeid(표현식)


연습문제