typedef vector<int>::itertor VecIt;
typedef int id;
// ... 이런식으로 typedef를 사용해 왔다.
// 이걸 using으로 사용이 가능하다
using VecIt = vector<int>::itertor;
using id = int;
// 장점1) 직관성이 뛰어나다
typedef void (*MyFunc)();
using MyFunc = void(*)();
// 장점2) 템플릿 사용에 유용하다
template<typename T>
typedef void ... // error : 이렇게 사용불가
template<typename T>
using List = std::list<T>;
// 참고로 typedef만 있던시절 template은 아래와 같이 사용했다
template<typename T>
struct List2
{
typedef std::list<T> type;
};