[C++]
[C++] namespace
Jarvis2304
2022. 9. 19. 03:13
▶ namespace :객체를 사용할때 이름 충돌이 발생하는 경우를 해결하기위해 객체앞에 이름 공간을 사용
ex) std::cout, std::cin ~
▶ std:: :c++ 표준에서 정의한 이름공간(namespace)중 하나
▶마이크를 부를때 1동 마이클인지, 2동 마이클인지, 3동 마이클인지 구별하기 위해 마이클 앞에 n동이라는 이름공간을 쓴다
▶ A폴더에 a.txt파일과 B폴더에 a.txt파일이 있을때, A폴더와 B폴더가 합쳐질때 a.txt라는 파일 이름이 중복되는 현상(이름충돌)과 같은개념
(a) kitae와 mike에 의해 작성된 소스를 합치면 (b)이름 공간을 사용하여 f() 함수 이름의 충돌 문제 해결
f()함수의 이름 충돌, 컴파일 오류 발생
▶ using 지시어
- 프로그램을 작성할때마다 namespace(std::)를 사용하는것은 프로그래머 입장에서 불편한 일이므로 using 지시어를 사용하여 namespace 생략가능
예제1) using namespace std를 사용한 기본출력 프로그램
#include <iostream>
using namespace std; // using 지시어 사용
int main(void)
{
cout << "using namespace std 지시어를 사용하면\n";
cout << "std::를 생략할 수 있습니다.";
}
출력결과
using namespace std 지시어를 사용하면
std::를 생략할 수 있습니다.
참고문헌: 명품 C++ Programming, 네이버 백과사전