[C++] using
in C++ on 공부, C++, Namespace, Using
namespace를 이용해서 이름이 동일한 함수들과 변수를 구분할 수 있다고 했다.
#include <iostream>
namespace A { void printThis(){std::cout<<"HelloA"<<std::endl;} }
int main() {
A::printThis();
}
만약 이 namespace A의 printThis
함수가 여러번 사용된다면 매번 A::printThis();
라고 입력해주어야 하는데, 굉장히 번거로운 일이다.
이를 방지하기 위해 using
을 사용할 수 있다.
#include <iostream>
namespace A { void printThis(){std::cout<<"HelloA"<<std::endl;} }
int main() {
using A::printThis;
printThis();
}
위에서는 main 함수 내에서 지역변수처럼 using을 선언해준 것이다. 이 using은 main이 끝나면 더 이상 사용할 수 없다.
전역변수처럼 함수 밖에서 using을 선언해준다면 모든 곳에서 사용할 수 있다.
#include <iostream>
namespace A { void printThis(){std::cout<<"HelloA"<<std::endl;} }
namespace B { void printThis(){std::cout<<"HelloB"<<std::endl;} }
int main() {
A::printThis();
B::printThis();
}
하지만 위와 같이 동일한 이름으로 함수를 선언했는데 using을 써버린다면 namespace를 쓴 의미가 없어지기 때문에 using도 적재적소에 맞게 사용해야 한다.