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` 키워드보다 읽기 더 쉽다.
[C++11] Lamda Expressions (0) | 2023.08.26 |
---|---|
[C++11] decltype (0) | 2023.08.26 |
[C++11] nullptr (0) | 2023.08.26 |
[C++11] Strongly-typed enums (0) | 2023.08.26 |
[C++11] Attributes (0) | 2023.08.25 |