namespace 와 std
namespace는 프로젝트를 여러 명이 나누어 개발하거나
다른 사람이 작성한 소스 코드나 목적 파일을 가져와서 사용하는 경우
같은 이름(identifier) 의 클래스, 상수, 변수, 메소드의 이름이 충돌하지 않도록 막기 위해 이름 공간을 생성한다.
이름 공간 내에 생성된 이름들은 별개의 이름으로 취급되어 충돌을 막음
namespace piggy {
}
piggy::sum()
std:: 이란 ANSI C++ 표준에서 정한 표준 이름 공간으로 모든 C++ 표준 라이브러리는 std 이름 공간에 만들어져 있다.
C++ 표준 입출력 라이브러리에 포함된 cout, endl 등은 std:: 와 함께 사용된다.
생략하기 위해
using namespace std;
응 용
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | #include <iostream> using namespace std; namespace a{ int num = 10; void function(){ cout << "사랑합니다" << endl; } } namespace b{ int num = 20; void function(){ cout << "사랑합니다. 진심으로" << endl; } } using namespace a; int main(int argc, char** argv) { function(); //현재 using namespace를 a거를 사용하겠다고 해놓음 (21번라인) a::function(); // a의 function 사용 b::function(); // b의 function 사용 cout << a::num << " " << b::num << endl; return 0; } | cs |
결 과
728x90
'# Language > C++' 카테고리의 다른 글
[C++] 객체 포인터 (0) | 2019.01.04 |
---|---|
[C++] 문자열 (C-string, string) (0) | 2019.01.01 |
[C++] const의 개념 (0) | 2018.12.21 |
[C++] 이것저것 코드들 (0) | 2018.12.21 |
[C++] 바람직한 C++ 프로그램 작성 (0) | 2018.12.21 |
[C++] 구조체 (0) | 2018.12.21 |
[C++] 인라인 함수 (Inline Function) (0) | 2018.12.21 |