[C++] namespace, FQN(fully Qualified Name)

2021. 3. 30. 13:02 기타/C++

 

네임스페이스는 선언을 그룹핑하는 언어적 메커니즘입니다. 프로젝트를 진행하는 도중 어떤 누군가가 같은 함수 혹은 변수를 선언해도 네임스페이스로 그룹핑 되어 있을 시, 다른 사람이 작성한 코드와 충돌되지 않습니다. 

 

아래는 c++에서 네임스페이스를 사용한 예시입니다.

namespace TextLib {
  class Text {...};
  class Line {...};
  ...

  string text_value;
   int line;
}

namespace FileTextLib {
  class Text {...};
  class Line {...};
  ...
  string text_value;
   int line;
}

 

그리고 위와 같이 정의된 네임스페이스는 완전 한정 이름(fully qualified name)을 써서 사용할 수 있습니다. 완전 한정 이름은 네임스페이스 이름과 멤버이름을 :: 로 결합한 이름을 나타냅니다.

TextLib::Text;
FileTextLib::Text;


출처: https://engkimbs.tistory.com/566?category=688856 [새로비]