2009-08-22 3 views

답변

2

아니요, 아닙니다. using 키워드는 하나 또는 모든 멤버를 네임 스페이스에서 전역 네임 스페이스로 가져 오는 데 사용되므로 멤버를 사용할 때마다 네임 스페이스의 이름을 지정하지 않고 액세스 할 수 있습니다.

제공된 using 문에서 네임 스페이스의 이름은 제공되지 않습니다. SomeClass에 using SomeClass::f;과 같은 구문도 제공 했더라도 SomeClass는 네임 스페이스가 아니기 때문에 작동하지 않습니다.

희망이 도움이됩니다.

+3

전역 이름뿐만 아니라 모든 이름 공간에 이름을 가져올 수 있습니다. 멤버 함수에서는'using '을 사용할 수 있지만 파생 클래스에서는 to 만 사용할 수 있습니다. – avakar

2

보통 using x;은 기본 클래스의 메소드 숨기기를 피하기 위해 기본 클래스의 메소드 이름을 범위 안으로 가져 오는 클래스 내부에서 사용되는 것 같습니다.

네임 스페이스에만 적용되는 using namespace name;을 생각할 수도 있습니다.

당신은 간단한 인라인 기능이 더 나을 수 있습니다

void f(){ SomeClass::f(); } 
+0

인라인 트릭을 사용하겠습니다. –

관련 문제