문서의 임의 삭제는 제재 대상으로, 문서를 삭제하려면 삭제 토론을 진행해야 합니다. 문서 보기문서 삭제토론 C++/문법 (문단 편집) === Global Namespace === {{{#!syntax cpp import ; import ; class Namu { public: void print() const noexcept { std::println(myCaption); } private: std::string myCaption = "Namu"; }; class Wiki { public: void print() const noexcept { std::println(myCaption); } private: std::string myCaption = "Wiki"; }; namespace Full { using ::Wiki; // ::로 사용 가능함 using ::Namu; // 또는 using Namu; // 또는 using Namu = ::Namu; } int main(void) { Namu class1; ::Wiki class2; class1.print(); class2.print(); return 0; } }}} '''전역적 이름공간 (Global Namespace)''' 이름공간이 명시 되어있지 않을 때는 전역적 이름공간을 사용하게 된다. C언어도 기본적으로 전역적 이름공간을 사용한다. 이름 공간의 이름을 적지 않고 {{{::}}}만을 사용하면 전역 이름공간을 사용하겠다고 지시할 수 있다. 그러나 전역 네임스페이스의 사용은 일반적으로 권장되지 않는다. 이름공간의 목적은 다른 역할을 하지만 중복되는 이름을 구분하기 위해 만들어 진 것인데 전역 네임스페이스는 그것을 무력화시키며 헤더에 전역 네임스페이스를 사용하게 되면 그 헤더를 삽입하는 소스 코드도 영향을 받기 때문이다. 설령 모듈이라도 이름의 중복은 피할 수 없는 문제다. 그렇기에 스코프 안에서만 사용하는 것이 좋다.저장 버튼을 클릭하면 당신이 기여한 내용을 CC-BY-NC-SA 2.0 KR으로 배포하고,기여한 문서에 대한 하이퍼링크나 URL을 이용하여 저작자 표시를 하는 것으로 충분하다는 데 동의하는 것입니다.이 동의는 철회할 수 없습니다.캡챠저장미리보기