네임스페이스는 어떤경우에 사용되는가
- 이름도 똑같고, 파라미터도 똑같은데 하는 일은 다른 두 함수가 있다고 가정하자.
#include <iostream>
using namespace std;
int same(int a, int b)
{
return a + b;
}
int same(int a, int b)
{
return a * b;
}
int main() {
cout<<same(3, 4)<<endl;
}
- 실행 오류가 나는것을 볼 수 있다.
- 이름을 바꿔도 되지만, 이름을 어쩔 수 없이 똑같이 사용해야한다고 했을때
#include <iostream>
using namespace std;
namespace Myspace1
{
int same(int a, int b)
{
return a + b;
}
}
int same(int a, int b)
{
return a * b;
}
int main() {
cout<<same(3, 4)<<endl;
}
- 실행오류가 나지 않는것을 볼 수 있다.(아래의 same함수가 실행됨)
- 위에 있는 same함수를 실행시키려면
Myspace::same(3,4)
로 입력하면 위의 함수를 실행할 수 있다.
namespace안에 namespace
- 사용방법:
namespace::namespace::함수