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

+ Recent posts