특정 영역에 이름을 붙여주기 위한 문법적 요소이다.
:: (범위지정연산자)를 이용해 접근합니다.
#include<iostream>namespace space {int num =1;voidfunc() { std::cout <<"space의 num : "<< num << std::endl; }}namespace otherSpace {int num =2;voidfunc() { std::cout <<"otherSpace의 num : "<< num << std::endl; }}intmain(void){ space::func(); otherSpace::func();return0;}
이름공간 함수의 선언부와 정의를 구분하기
#include<iostream>namespace space {int num =1;voidfunc();}namespace otherSpace {int num =2;voidfunc();}intmain(void){ space::func(); otherSpace::func();return0;}void space::func() { std::cout <<"space의 num : "<< num << std::endl;}void otherSpace::func() { std::cout <<"otherSpace의 num : "<< num << std::endl;}
#include <iostream>
using namespace std;
int val = 100; // 전역변수
int main(void)
{
int val = 20;
cout << val << endl; // 지역변수 출력
cout << ::val << endl; // 전역변수 출력
return 0;
}