문제

C ++에서 동일한 네임 스페이스를 두 번 포함해도 괜찮습니까? 컴파일러는 오류가 발생하지 않지만 여전히 어쨌든 영향을 미칩니다.

감사,

편집하다:
내말은

using namespace std;

// . . STUFF
using namespace std;
도움이 되었습니까?

해결책

그것은 당신이 'include'로 의미하는 바에 달려 있습니다. 속담:

using namespace std;    
...    
using namespace std:

괜찮습니다. 하지만 말하기 :

namespace X {
   ...
namespace X {

X :: X라는 중첩 네임 스페이스를 만들 것입니다.

다른 팁

이 사용법은 괜찮습니다.

파일 : foo.h

namespace tools
{
  class Widget
  {
  ...
  };
}

파일 : bar.h

namespace tools
{
  class Gizmo
  {
  ...
  };
}

같은 클래스/파일에서 두 번? 문제가되지 않아야하지만 필요하지 않아야합니다. 문제를 피하기 위해 코드를 리팩터링 할 수 있어야한다고 순진하게 생각합니다.

다음은 괜찮은지 묻고 있습니까?

using namespace std;
using namespace std;

괜찮지 만 일반적으로 네임 스페이스 요소를 스코프 해상도로 참조하는 것을 선호합니다.

전:

std::vector
std::sort

나는 당신이 무슨 뜻인지 확실하지 않습니다. 여러 클래스를 단일 네임 스페이스에 넣을 수 있습니다 (전체 아이디어). 각 클래스에는 일반적으로 자체 파일이 있으므로 여러 파일에서 동일한 네임 스페이스를 사용할 수 있습니다.

기술적으로는 필요하지는 않지만 작성한 네임 스페이스 계층 구조를 나타내는 디렉토리 구조를 갖는 것이 좋습니다.

에 관해서 사용 지침 : 컴파일러 및/또는 지능형은 아마도 경고를 제공하지만 (C# 하나), 그렇지 않으면 효과가 없습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top