프로그래밍/C++

C++ 네임 스페이스

swedu 2023. 2. 17. 06:03
728x90
반응형

2023.02.17  최초작성

 

C++에서 네임스페이스는 범위에 이름을 지정하는 것이다. 네임스페이스의 범위에 접근할 때는 콜론 2개를 연속으로 쓴 범위 지정 연산자를 사용한다.

 
#include <iostream>
using namespace std;
void fun01() { // global namespace에 속한 함수
	cout << "::fun01 실행" << endl;
}
void fun02() { // global namespace에 속한 함수
	cout << "::fun02 실행" << endl;
}
int a(1); // global namespace에 속한 변수
namespace apple {
	int a(10);
	void fun02() {
		cout << "apple::fun02 실행" << endl;
	}
	void fun01() {
		cout << "apple::fun01 실행" << endl;
		fun02();
	}
	namespace banana {
		int a(20);
		void fun01() {
			cout << "apple::banana::fun01 실행" << endl;
		}
	}
	namespace carrot {
		int a(30);
		void fun01() {
			cout << "apple::carrot::fun01 실행" << endl;
		}
	}
}
namespace donut {
	int a(40);
	void fun01() {
		cout << "donut::fun01 실행" << endl;
	}
}
int main() {
	::fun01();
	apple::fun01();
	apple::banana::fun01();
	apple::carrot::fun01();
	donut::fun01();
	cout << ::a << endl;
	cout << apple::a << endl;
	cout << apple::banana::a << endl;
	cout << apple::carrot::a << endl;
	cout << donut::a << endl;
	return EXIT_SUCCESS;
}

[실행 결과]

::fun01 실행

apple::fun01 실행

apple::fun02 실행

apple::banana::fun01 실행

apple::carrot::fun01 실행

donut::fun01 실행

1

10

20

30

40

 
 
728x90
반응형

 

728x90
반응형