-
c++ 에서 using namespace 를 장려하지 않는 이유알고리즘/정리 및 오류 해결 방법 2018. 11. 25. 13:00반응형
string 이나 cout 등을 쓸때 앞에
std:: 를 번거롭게 쓰지않는 방법으로 상단에
using namespace std 를 쓰는것이 있다.
예를 들면
temp1 라이브러리에 fun1()
temp2 라이브러리에 fun2()
가 각각 있는경우
temp1:fun1();
temp2:fun2();
와 같은 식으로 쓰지않기위해
using namespace로 아래와 같이 선언 한뒤 바로 아래와 같이 바로 사용한다.
using namespace temp1;
using namespace temp2;
fun1();
fun2();
하지만 이를 권장 안한다는 말이 많은데 그이유는
라이브러리 2개를 호출할 때 같은 메소드가 있는 경우
temp1 라이브러리와 temp2 라이브러리 모두
fun2() 라는 함수가 생겨버리면 fun2() 는 충돌이 나기때문에
temp1::fun2();
temp2::fun2();
와 같은 식으로 정확한 라이브러리를 언급해주어 충돌을 방지 하는 것이 좋기 때문에 추천하지않는다.
반응형'알고리즘 > 정리 및 오류 해결 방법' 카테고리의 다른 글
Cannot initialize a variable of type 'int' with an rvalue of type 'void *' 에러 해결법 (0) 2018.12.09 댕글링 포인터 문제: free 함수를 이용해도 계속 호출 되는 문제 (0) 2018.12.09 c++ malloc() 함수 설명 (0) 2018.12.09 std::cout string int 같이 쓰는 법 (0) 2018.11.25 c++ 오류 해결법 : Use of undeclared identifier '함수명' (0) 2018.11.20