문제
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# 하나), 그렇지 않으면 효과가 없습니다.
제휴하지 않습니다 StackOverflow