namespace

조성재·2022년 4월 3일
0

처음부터 C++

목록 보기
2/6

namespace

  • cout 혹은 cin에 붙는 std는 C++ 표준 라이브러리의 모든 함수, 객체 등이 정의된 이름공간(namespace)이다.
  • 이름 공간은 말 그래도 정의된 객체에 대해 어디 소속인지 지정해주는 것과 동일하다.
  • 중복된 이름을 가진 함수가 늘어나면서 C++에서는 이를 구분하기 위해, 같은 이름이라도, 소속된 이름 공간이 다르면 다른 것으로 취급하게 됐다.
💡 참고로 `using namespace std;` 와 같이 어떠한 이름 공간을 사용하겠다라는 선언하는 것은 권장되지 않는다!!! 만약 std에 이름이 겹치는 함수를 만들게 된다면 오류가 발생하게 되기 때문이다. 따라서 `std::` 를 직접 앞에 붙여서 std의 이름공간 함수라는 것을 명시해주는 것이 좋다.

이름 없는 이름 공간

  • C++에서는 이름 공간에 굳이 이름을 설정하지 않아도 된다.
  • 이 경우 해당 이름 공간에 정의된 것들은 해당 파일 안에서만 접근할 수 있다. 마치 static 키워드를 사용한 것과 같은 효과를 낸다.

0개의 댓글