namespace(명칭공간) 사용이유
- 이름이 같은 함수가 있으면 에러가 난다.
- 같은 함수명을 유지하고 싶을때 namespace를 생성하여 함수명을 유지한다.
namespace특징
- namespace안에 namespace를 생성할 수 있다.
- namespace안에 함수를 불러 올때 ::을 사용한다.
- namespace도 다른 함수,변수들과 공통된 이름은 생성하지 못한다.
- std::cout처럼 사용하기 귀찮다면 using namespace std;를 사용하면 cout을 사용할 수 있다.
- 같은 코드안에 같은 함수명이 있다면 에러난다.
#include <iostream>
using namespace std;
namespace NamespaceTest
{
int test(int a, int b)
{
return a + b;
}
namespace InnerSpace
{
int test(int a, int b)
{
return a + b;
}
}
}
namespace NamespaceTest2
{
int test(int a, int b)
{
return a + b;
}
}
int main()
{
using namespace NamespaceTest;
//using namespace NamespaceTest; 를 통해 test함수를 바로 쓸 수 있다.
cout << test(1, 3) << endl;
//NamespaceTest namespace안에 InnerSpace를 불러올 수 있다.
cout << InnerSpace::test(1, 3) << endl;
//함수명은 같지만 다른 namespace에 있는 함수를 사용할 수 있다.
cout << NamespaceTest2::test(1, 3) << endl;
return 0;
}
'개발 소발 > 개발 C++(기초)' 카테고리의 다른 글
c++ 문자형,리터럴상수,심볼릭상수 란? (0) | 2019.07.01 |
---|---|
c++ 정수형,부동소수점수란? (0) | 2019.06.28 |
c++ 헤더파일 만드는 이유 (0) | 2019.06.26 |
c++ 키워드,식별자란? (0) | 2019.06.26 |
c++ 함수란? (0) | 2019.06.25 |