(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++프로그래밍 (프리렉 출판사)

댓글

이 블로그의 인기 게시물

(네트워크)폴링방식 vs 롱 폴링방식

(ElasticSearch) 결과에서 순서 정렬

(18장) WebSocekt과 STOMP를 사용하여 메시징하기