본문 바로가기
Study/C++

namespace 에 대해...

by 뿡뿡대마왕 2011. 9. 28.
반응형
함수이름이 같을 경우에 대한 문제 해결 방법이라고 볼수 있다..
함수이름이 같더라도 다음과 같이 선언하여 쓰면 그러한 문제를 해결할수 있다.
이런한 문제는 여러명이 한 프로젝트를 수행시에 함수명이 겹처서 발생할 수 있는 문제를 예방 할수 있는거 같다...
우선 보자면
namespace T_1
{
void TestFunction(void)
{
    .....
}
}
namespace T_2
{
void TestFunction(void)
{
      .......
}
}
같은 함수명이 사용되었지만.. 저런식으로 선언하고 쓴다면 문제 될거이 없다..다만 사용시에는 아래와 같이 어떤놈의 
함수인지를 알려주고 사용하면 된다.
int main(void)
{
    T_1::TestFunction(); //요런식으로 (:: 요건 범위지정 연산자, 즉 T_1에 잇는 TestFunction을 쓴다는 말이다.)
    T_2::TestFunction();
}
이거보면 std::cout, std::cin, std::endl 에 대한 느낌이 팍팍 올것이다..ㅋㅋ
글구 추가적으로 using 이라는 예약어를 사용하면 좀더 간편하게 사용할수 있다.
using T_1::Testfunction;
요렇게 선언해놓으면
T_1의 TestFunction 함수 사용시에 더이상 T_1:: 이라는 걸 붙일 필요가 없어진다.그냥 TestFunction이라고 사용 할 수 있다.
좀더 나아가면 using namespace::std 요걸 많이 선언해놓고 쓰는데
std안에 있는 함수놈들은 그냥 참조하겠다는 말이다..즉
using namespace::T_1 하면
T_1 안에 있는 함수들은 더이상 범위지정 연산자를 붙여가며 쓸 필요가 없어지는 것이다...ㅋㅋ
그럼 여기까지!!
<과묵,겸손,솔직,성실.....>

반응형

댓글