2014-09-11 3 views
1

내 네임 스페이스 Astd::max 함수를 사용한다고 가정합니다. 어떻게하면 좋을까요?하나의 함수를 현재 네임 스페이스에 가져 오려면 어떻게해야합니까?

namespace A { 
void fun() 
{ 
    double x = std::max(5.0, 1.0); // I don't want to have to write the std:: 
} 

void fun() 
{ 
    using namespace std; 
    double x = max(5.0, 1.0); // I don't want to have to use the using directive to introduce the entire namespace 
} 

} 

이 방법이 있습니까?

+3

'사용하여 표준 : 최대 (이것은 원래의 게시물에 브랜든의 코멘트의 대답 버전입니다). .foo :: max와 같이 명시 적으로 달리 명시하지 않는 한. http://ideone.com/RpTTAn 간단한 대답이기 때문에 의견으로 남겨 둡니다. 나는 요점을 필요로하지 않는다. – Brandon

+0

코멘트에 @Brandon 게시 답변은 [사이트 정책에 대한] (http://stackoverflow.com/help/privileges/comment)입니다. 나는 그것이 개인적으로 벙어리 정책이라고 생각한다. 그러나 중재자는 정책과 인라인되지 않는 모든 주석을 삭제할 수있다. 답을 포함하는 주석을 포함하여. 그래서, 만약 당신이 신용을 가지고 자신을 누른 다음 날 핑을 내게 핑을 해답을 게시하고 –

+0

@MattMcNabb 와우 .. 그런 일이 실제로 규칙에 대한 될 수있는 줄 몰랐지만 대답을 게시했습니다 : S 알려 줘서 고마워. 나는 너의 대답을 좋아한다. – Brandon

답변

1

당신 using 선언들을 네이밍함으로써 수 "수입"개인 기호 :

namespace A 
{ 
    using std::max; 

A::max 정의되고 std::max 동일한 기능을 지정하는 것을 의미한다; 그래서 에 max을 찾으려고하면 의도 한 기능을 찾을 수 있습니다. 당신은`max`를 호출 할 때마다 '다음에, 표준 : max`'전화 할게,

관련 문제