플밍/C++ (overview)

namespace, (범위지정연산자)

천재차씨 2012. 1. 3. 22:44
2006/07/26 01:30




void f(){

  ...xx

}

 

void f(){

  ...yy

}

 

int main(){

  f();               <- 어떤 f()?

}

 

이런 경우 막기 위해, namespace를 지정해준다.

 

namespace A_company{

  void f(){

    ...xx

  }

}

 

namespace B_company{

  void f(){

    ...yy

  }

}

 

int main(){

  A_company :: f();

  B_company :: f();

}

 

----------------------------------------------------------------

 

1. NAMESPACE :: FUNCTION(..);

 

=> NAMESPACE에 속한 FUNCTION을 쓰겠다.

    ( :: means "SCOPE RESOLUTION OPERATOR"[범위지정연산자])

 

2. using NAMESPACE :: FUNCTION;

  using namespace NAMESPACE;

 

3. 범위지정연산자의 또다른 쓰임새

 (* 지역변수는 전역변수의 이름을 가린다.)

 

 int top;

 

 int main(){

   int top;

   :: top += 1;  //바깥에 있는(전역의) top을 1증가시켜라.

 }