C++에는 컨테이너, 알고리즘 등과 같은 응용 프로그램을 빌드하는 데 사용하는 공통 기능이 포함된 표준 라이브러리가 있습니다. 이러한 이름이 사용되는 이름이 공개된 경우(예:대기열 클래스를 전역적으로 정의한 경우) 충돌 없이 같은 이름을 다시 사용합니다. 그래서 그들은 이 변경 사항을 포함하기 위해 std라는 네임스페이스를 만들었습니다.
using namespace 문은 존재하는 범위 내에서 각각의 앞에 std::접두사를 붙일 필요 없이 std 네임스페이스 아래의 모든 것을 사용 가능하게 만든다는 의미입니다.
이 방법은 예제 코드에서는 괜찮지만 전체 std 네임스페이스를 전역 네임스페이스로 가져오는 것은 네임스페이스의 목적을 무효화하고 이름 충돌을 유발할 수 있으므로 좋지 않습니다. 이러한 상황을 네임스페이스 오염이라고 합니다.