using은 편의보다 전파 범위를 먼저 보고 둔다
같은 using이라도 헤더, .cpp, 함수 내부 중 어디에 두느냐에 따라 충돌 위험이 달라집니다.
위치
전파 범위
권장
피할 것
헤더
포함하는 모든 파일로 이름 후보가 퍼진다.
std::string처럼 소속을 붙인다.using namespace std;.cpp 파일
해당 번역 단위 안으로 제한된다.
필요한 이름만 using 선언한다.
큰 네임스페이스 전체를 오래 열어두기.
함수 내부
가장 좁은 블록 안에서만 보인다.
짧은 예제나 한정된 블록에서만 사용한다.
함수 전체를 읽기 어렵게 만드는 남용.
using은 이름을 짧게 하는 도구가 아니라, 후보 이름을 얼마나 넓게 풀어놓을지 정하는 도구입니다.