** 이름공간(namespace) **
정의된 객체, 함수에 대해 어디소속인지 지정해주는 것
중복된 이름의 객체, 함수여도 소속된 이름 공간이 다르면 다른 것으로 취급.
std::cout, std::cin, std::endl 에서 std는 c++의 표준라이브러리의 모든 함수, 객체 등이 정의된 이름공간(namespace)
namespace space1{} -- 이름공간에 포함되고자하는 함수나 객체들을 넣어주어 이름 공간을 만들어 주면 된다.
('space1' 이라는 이름 공간 정의 )
1
2
3
4
5
6
|
#include <iostream>
using namespace std; // "iostream" 안에 이름공간 "std"를 사용하겠다.
cout << "Hello, World" << endl //cout 과 endl 은 "iostream" 헤더파일 안에
//"std"라는 이름 공간에 정의되어 있는 것들
|
using namespace 를 사용해 어떤 이름공간을 사용하겠다라고 선언하는 것은 권장하지 않는다고 한다.
---> 명시적으로 "std:: "와 같이 붙여주는 것이 함수의 한정적인 사용을 막아 오류를 예방할 수 있음.
이름공간의 이름을 명명하지 않은 경우, 해당 파일 안에서만 접근 가능. "static" 과 같은 효과
형태 : namespace {}
반응형
'C++' 카테고리의 다른 글
클래스(Class) (2) - 접근 지정자 (0) | 2020.03.31 |
---|---|
클래스(Class) (1) - 객체, 클래스 설명 (0) | 2020.03.31 |
메모리 할당 (new,delete) (0) | 2020.01.26 |
참조자(Reference) (0) | 2020.01.23 |