네임스페이스
네임스페이스는 코드에서 이름이 서로 충돌하는 문제를 해결하기 위해 나온 개념이다. 예를 들어 foo() 함수를 정의해서 코드를 작성하다가 외부에 라이브러리가 필요해서 추가 했더니 외부 라이브러리에도 foo() 함수가 있을 수 있다. 이때 컴파일러는 foo()란 이름만 보고서는 어느 함수를 가리키는지 알 수 없다. 외부 라이브러리에 정의된 함수의 이름은 바꿀 수 없고, 내가 작성한 코드를 고치기엔 일이 너무 커져 버린다. 이런 문제는 네임 스페이스를 사용하여 해결 할 수 있다. 어떤 이름이 어디에 속해 있는지 문맥을 정의할수 있기 때문이다. 아래는 예시이다. // namespaces.h namespace mycode { void foo(); } 네임스페이스는 이렇게 함수나 메서드의 선언뿐만 아니라 구현 부..
컴퓨터 언어/C++
2020. 6. 22. 14:53