상세 컨텐츠

본문 제목

[C++11] Type aliases

C++/Modern C++(11, 14, 17, 20)

by 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` 키워드보다 읽기 더 쉽다.

'C++ > Modern C++(11, 14, 17, 20)' 카테고리의 다른 글

[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

관련글 더보기