본문 바로가기
프로그래밍/C++

C++의 namespace의 사용법과 이유(2) using 사용법

by Hwan2 2018. 6. 24.
728x90
반응형

앞에서 namespace의 사용법을 설명했습니다.

복습하자면 사용법은

 

<iostream>
namespace IamA
{
    void printOut() { std::cout << "출력!" << std::endl; }
}

void main() {
    IamA::printOut();
}

이렇게 됩니다.

 

하지만 namespace속의 printOut()이라는 함수를 매번 사용하는 일이 발생한다면

IamA::printOut(); 이라는 선언은 여간 귀찮은 일이 아닐 수 없을 것입니다.

 

이런 귀찮은 것들을 using이라는 기능을 선언해 주면 해결이 됩니다.

<iostream>
namespace IamA
{
    void printOut() { std::cout << "출력!" << std::endl; }
}

void main() {
        using IamA::printOut;
        printOut();
}

 

위 예제처럼 using만 선언해주면 함수명만으로도 실행이 잘 됩니다.

하지만 위 예제는 main()이라는 함수 안의 지역변수로 선언한 것이며

해당 함수가 끝나면 using의 효과도 끝날 것입니다.

 

main()밖인 전연변수로 선언한다면 모든 곳에서 간단하게 사용이 가능하게 됩니다.

 

 

 

하지만 전에 예제처럼 동일한 함수로 선언된 경우

#include<iostream>

namespace IamA{ void printOut();}

namespace IamB{ void printOut();}

void main() {
    IamA::printOut();
    IamB::printOut();
}

void IamA::printOut() { std::cout << "출력!" << std::endl; }

void IamB::printOut() { std::cout << "출력!" << std::endl; }
 

 

이러한 상황에서 outPrint()함수를 using을 이용해 간소화 시켜 버리면

namespace를 사용한 의미를 잃어버리는 것이니 남용하지 말고 상황에 맞게

사용하는것이 바람직 할 것입니다.

 

반응형

댓글


스킨편집 -> html 편집에서