이름공간(namespace)
개발/C++ 문법 2012. 8. 7. 14:211. 이름공간의 등장배경
A사 라이브러리 (func), B사 라이브러리 (func), C사 라이브러리 (func) 를 가져와 프로젝트를 할 때 func 를 호출하면
당연 충돌이 일어난다. 이러한 충돌을 막기위해 이름공간을 사용한다.
2. 이름공간 기반의 함수 선언과 정의의 구분
위에 이름공간 안에 함수선언시, 아래에 보면 함수정의하는 곳에 이름공간도 같이 적어주고 정의 시작 !
3. 이름공간의 중첩
나눠서 이름공간 지정 가능
4. std::cout, std::cin, std::endl
그럼 입출력에 관련된 std::cout, std::cin, std::endl 표현도
namespace std{
cout ...
cin ...
endl ...
}
이런 식 ! 이라는 것을 알 수 있다.
5. using을 이용한 이름공간의 명시
6. 이름공간의 별칭 지정
namespace ABC=AAA::BBB::CCC; 하면, AAA::BBB::CCC::num1=20;을 ABC::num1=20으로 표현가능
7. 범위지정 연산자의 또 다른 기능
전역변수는 이름이 없는 이름을 가지는 이름공간에 있다라고 볼 수 있다.