(C++)2장. 네임스페이스 정의
using namespace 선언은 말 그대로 소속을 알리는 역할을 합니다. 그러니까 네임스페이스는 변수 이름이나 함수 이름과 같이 명칭을 사용하는 공간으로 소속을 나타낸다고 표현할 수 있습니다. 예를 들어, 영희네 강아지도 멍멍이이고, 철수네 강아지도 멍멍이에요. 둘이 어떻게 구분하죠? 둘 다 멍멍이면 구별 안되죠? 우리는 구별하기 위해서 영희네 멍멍이, 철수네 멍멍이라고 언급할 수 있습니다. 여기서 영희, 철수라고 하는 '소속'을 네임스페이스라고 생각하면 됩니다.
약 100명 정도의개발자가 A,B,C라는 팀으로 나누어 팀 프로젝트를 진행한다고 해보자. 이렇게 팀을 나누어 개발이 머두 끝나면 A와B,그리고 C가 개발한 프로젝트를 하나로 합친다고 해봅시다. 모든 일이 만사천리로 해결되는 듯 했으나 A에서 정의하 함수 이름과, B에서 정의한 함수의 이름, C에서 정의한 함수의 이름이 상당수가 동일하여 충돌이 일언는 것이ㅏ.
**네임스페이서 생성 방법
namespace 네임스페이스 명
{
선언 내용;(클래스,함수, 변수 등을 정의)
}
예)
#include<iostream>
using namespace std;
//first네임스페이스 정의
namespace first
{
int value=1;
}
//second네임스페이스 정의
namespace second
{
int value=2;
}
int main()
{
cout<<first::value;
cout<<second::value;
}
출처: 모던 C++프로그래밍 (프리렉 출판사)
댓글
댓글 쓰기