[C++] :: 의 의미

dolanap·2021년 8월 21일
0

::

::은 범위 지정 연산자이다.


두 가지 방식으로 사용할 수 있는데

namespace Namespace1
{
	void function1() {...}
}

위와 같은 구성인 경우
Namespace1::method1() 로 function1을 호출하는 방식이다.
다른 여러 NameSpace들에 function1이 있는 경우 특정 함수를 구분해서 호출하기 위해 사용한다.


class ClassA
{
	void methodA() {...}
}

class ClassB
{
	void methodA() {...}
}

클래스의 경우도 동일하다.
ClassA::methodA 와 ClassB::methodA 로 이름은 같지만 다른 함수 둘을 구분지어 사용할 수 있다.



:: 앞에 NameSpace이름이나 Class이름 없이 ::만 사용하면 무슨 의미일까?🤔

void function1() {...}

void main()
{
	void function1() {...}
}

전역함수와 지역함수가 같은 이름인 경우에 구분하기 위해 사용하는데, 위의 경우 main 안에서 ::function1은 전역함수 function1을 의미하고 function1은 지역함수 function1을 의미한다.
전역변수, 지역변수 구분에도 사용가능하다.

profile
아무거나 끄적거리는 개발자

0개의 댓글