1. using
네임스페이스를 배웠다면 이번엔 using에 대해 알아보자
사실 using은 네임스페이스를 보다 쉽고 간결하게 사용하기 위한 키워드라고 할 수 있다.
당장 로그 출력만해도 로그 출력 코드를 입력할 때마다 std:: 를 매번 입력해주어야 하는데
이는 여간 불편한 작업이 아닐 수 없다.
using을 사용하여, 이를 획기적으로 줄여보자
#include<iostream>
using std::cin;
using std::cout;
using std::endl;
int main(void)
{
int num = 20;
cout << "Hello World!" << endl;
cout << "Hello" << "World!" << endl;
cout << num << endl;
}
using을 사용하여 로그 출력을 간결하게 하였다.
이제 std::를 생략해도 보다 쉽게 이름을 사용할 수 있다.
그런데, 명령별로 using을 사용 해주는 것이 번거롭게 느껴질 수 있다.
그럴때는 아래처럼 해보자
#include<iostream>
using namespace std;
int main(void)
{
int num = 20;
cout << "Hello World!" << endl;
cout << "Hello" << "World!" << endl;
cout << num << endl;
}
이는 즉, std라는 namespace의 모든 것을 가져오는 역할을 한다.
만약 로그를 출력할 일이 많이 있고 C언어 방식인 printf가 아닌 방식으로 코드를 짜고자 한다면
이렇게 std라는 namespace를 통째로 가져오는 것도 좋은 방법이라 생각한다.
2. using 응용
가져온 네임스페이스에 별칭을 지정하여 보다 간단하게 사용할 수 있다.
예를 들어, 아래의 코드가 있다고 생각해보자
namespace AAA
{
namespace BBB
{
namespace CCC
{
int num = 4;
}
}
}
여기서 num을 가져오려면 AAA::BBB::CCC::num 이런식으로 작성해야 한다.
그러나 보기에 매우 불편하지 않은가?
때문에 네임스페이스를 가져올때 일종의 별칭을 지정해 줄 수 있다.
namespace ABC = AAA::BBB::CCC;
만약 namespace가 외부 파일이라면 using으로 작성해주면 된다.
using namespace ABC = AAA::BBB::CCC;
이제 ABC::num을 통해 CCC네임스페이스 안의 num 값에 접근할 수 있다.
'Language > C++' 카테고리의 다른 글
C++ 공부정리 - 네임스페이스 (0) | 2023.03.22 |
---|---|
C++ 공부정리 - 오버로딩과 기본 값 (0) | 2023.03.22 |
C++ 공부정리 - 시작 (0) | 2023.03.21 |