-
항목9. typedef보다 별칭 선언을 선호하라Effective Modern C++ 2022. 7. 20. 15:09
형식의 타이핑(타자수)이 많으면 별칭 선언을 사용하자.
물론 typedef라는 것이 존재한다. 별칭 선언은 현대적인 typedef라고 생각하면 된다.// 별칭 선언 사용법 using UPtrMapSS = std:unique_ptr<std::unordered_map<std::string, std::string>>; // 함수 포인터 typedef void (*FP)(int, const std::string&); // typedef // 위와 같은 의미 using FP = void (*)(int, const std::string&); // 별칭 선언typedef 보다 나은 별칭 선언의 장점은 템플릿이다. 자타수가 줄어든다!
별칭 템플릿template<typename T> // 별칭 선언 사용 using MyAllocList = std::list<T, MyAlloc<T>>; ... MyAllocList<Widget> lw // 클라이언트 코드 ... // 템플릿 안에서 별칭 템플릿을 사용하면 간단하다. template<typename T> class Widget { private: MyAllocList<T> list; }template<typename T> // typedef 사용 struct MyAllocList { typedef std::list<T, MyAlloc<T>> type; }; ... MyAllocList<Widget>::type lw // 클라이언트 코드 ... // 템플릿 안에서 typedef를 사용하려 한다면, typedef 이름 앞에 typename을 붙여야 한다. template<typename T> class Widget { private: typename MyAllocList<T>::type list; }'Effective Modern C++' 카테고리의 다른 글
항목11. 정의되지 않은 비공개 함수보다 삭제된 함수를 선호하라 (0) 2022.07.25 항목10. 범위 있는 enum을 선호하라. (0) 2022.07.23 항목8. 0과 NULL보다 nullptr을 선호하라 (0) 2022.07.20 항목7. 객체 생성시 () 와 {} 를 구분하라 (0) 2022.07.19 항목5&6. auto를 선호하라 (0) 2022.07.17