본문으로 바로가기

[ C++ ] 2. 네임스페이스(Namespace)

category Programming/C++ 2021. 3. 14. 22:55

2. 네임스페이스(Namespace)

//main.cpp
#include<iostream>
#include "A.h";
#include "B.h";
using namespace std;

int main()
{
	cout << A::num() << endl;
	cout << B::num() << endl;

	return 0;
}
//A.h
namespace A
{
	int num()
	{
		return 10;
	}
}
//B.h
namespace B
{
	int num()
	{
		return 20;
	}
}

>>실행 결과

10
20

여러 명이 개발하거나, 다른 사람이 작성한 소스 코드를 가져올 경우 자신이 작성한 변수명, 함수명 등과 겹칠 수 있습니다.

 

이러한 문제를 네임스페이스를 통해 해결할 수 있습니다.

 

 

2.1 namespace 정의

namespace 이름 {
	함수, 변수 등
}

네임스페이스는 보통 헤더 파일에 정의합니다.

 

namespace의 이름을 설정하고,

 

블록 안에다가 함수, 변수 등을 생성하면 됩니다.

 

 

2.2 std:: 생략 (using)

매번 std::cout, 앞으로 배울 std::cin 등 계속 입력하면서 프로그래밍을 하려면 여간 귀찮은 일이 아닙니다.

 

using 지시어를 사용하면 std::를 생략할 수 있습니다.

 

using std::cout;

위와 같이 하면 cout에 대해서만 std::를 생략할 수 있게 됩니다.

 

std 공간에 선언된 모든 이름에 대해 생략하고 싶다면 using namespace std 해주면 됩니다.

using namespace std;

 

'Programming > C++' 카테고리의 다른 글

[ C++ ] 화면 출력 (cout, endl)  (0) 2021.03.14