C++/Modern C++(11, 14, 17, 20)
[C++11] Type aliases
deulee
2023. 8. 26. 16:11
C++11에서 도입된 "타입 별칭(type aliases)" 키워드인 `using`은 이전의 "typedef" 키워드의 역할을 그대로 이어받는다.
기존의 타입 별칭을 어떻게 했는지 보도록 하자.
`typedef`를 사용한 타입 별칭 :
// `typedef`를 사용한 타입 별칭
typedef int myInt;
typedef double myDouble;
typedef std::vector<int> IntVector;
`using`을 사용한 타입 별칭:
// `using`을 사용한 타입 별칭:
using myInt = int;
using myDouble = double;
using IntVector = std::vector<int>;
이를 통해 코드의 가독성을 높일 수 있다. 그리고 긴 타입 이름을 간소화할 수 있다.
또한, 템플릿을 사용하는 경우에도 타입 별칭은 유용하다.
template <typename T>
using MyContainer = std::vector<T>;
MyContainer<double> values; // std::vector<double>와 동일한 의미
`using` 키워드가 `typedef` 키워드보다 읽기 더 쉽다.