MoniWikiDiff for namespace
Login:
Password:
대문|찾기|바뀐글|목록|메모장|책갈피|연꽃|링크
Edit Diff Reload Search Print Info Mail Help RSS

옛 버전이 없습니다




  namespace

c++에 최근에 도입된 문법으로
MFC등 무지막지한 라이브러리가 지원 되는 현실에서
필요 불가결 하개 등장한 예약어이다.

수많은 함수,클래스 등이 존재할 수 있으며, 이들 이름들 간의 충돌을 회피하기 위해서는
기억하기 힘들 정도로 함수이름들이 복잡해져야만 하는데,
이 문제점을 해결하는 방법으로 namespace를 사용한다.

namespace의 역할은 어떤 모듈이나 타입 등을 하나의 그룹으로 묶어주는 역할을 한다.

사용법 예_1]
string란 클래스를 새로 하나 만든다고 할 때,
기존의 이름과 같다면 당연히 이름을 변형 해서,
ahn_string 머 이런식으로 써주어야 합니다.
하지만 같은 이름으로 내가 만든 string클래스를 쓰는 방법이 있습니다.

아래와 같이
namespace ahn
{
class string{ .... }
}
이렇개 정의 해주시고

void main()
{
using namespace ahn;
string iamstring = "baobo 만쉐이";
...
}

이렇게 사용하면, namespace ahn {} 에서 정의한 string 클래스가 적용된다.

1) 풀패스로 사용한다면 다음과 같은 형식이다. (c++의 완전 이름)
void main()
{
ahn::string iamstring = "baobo 만쉐이";
std::string iamstdstring = "baobo std 만쉐이";
}

2) using directive를 사용하여 하나의 customer 이름을 지정한다면 형식은 다음과 같다.
void main()
{
using ahn::string;
string iamstring = "baobo 만쉐이";
}

ahn이란 곳에서 string클래스 하나만 사용한다는 식이 된다.

참고로, 이름공간중에 std라는 c++에서 미리 정의하고 사용하는 공간이 있는데
왠만한 표준이 들어가는 클래스나 함수는 다 이 namespace에 있다.

사용법 예_2]

사용할 때는 ...
fully qualified name으로 사용을 하거나
using directive를 사용하여 하나의 customer 이름을 지정할 수 있는 것이죠...

아래는 그 예입니다..

#include <iostream>
using namespace std;

namespace TestName1 {
    int a = 5;
}

namespace TestName2 {
    int a = 6;
}

int main( void )
{
    cout << TestName1::a << endl;
    cout << TestName2::a << endl;
    return 0;
}
{_r} 메모장으로 돌아가기

April, 2025
 12345
6789101112
13141516171819
20212223242526
27282930 

지혜는 갖고 다니기엔 쉽지만 얻기엔 힘든 것이다.

물_관음
DropDown_MenuList
책갈피_Cocos2d-x_3MobileGame
MoniWikiTodo
last modified 2004-05-11 08:31:02
보기|찾기|쪽 지우기|비슷한 쪽 Valid XHTML 1.0! Valid CSS! powerd by MoniWiki
0.0167 sec