[C++] using

👻 using

usingtypedef와 비슷하게 동작하지만 문법은 다르다.

// typedef
typedef __int64 id;

// using
using id2 = int;

🌱 장점

  • 직관성이 뛰어나다.
    함수 포인터 같은 경우 포인터 이름이 가운데에 위치해 있기 때문에 코드를 보기가 어려웠다. using을 사용하면 조금 더 한 눈에 알아보기 쉽게 코드를 작성할 수 있다.
// typedef
typedef void (*MyFunc)();

// using
using MyFunc2 = void(*)();
  • 템플릿 활용이 가능하다.
    typedefstruct를 사용하여 템플릿을 활용할 수 있었지만 코드가 복잡하고 곧바로 활용할 수는 없었다. using은 템플릿과 곧바로 활용이 가능하다.
// typedef
// 안 됨
/*
template<typename T>
typedef vector<T> List2;
*/

// using
template<typename T>
using List = list<T>;

// using 이전 방법
template<typename T>
struct List2 {
  typedef list<T> type;
};

👻 글을 마치며

이번 시간에는 using에 대해 알아보았다. 맨날 using namespace std;만 쓰다가 다른 문법에 대해서도 알아보았는데 상당히 편리한 것 같다. 앞으로 자주 사용하게 될 것 같다.


소스코드 보러가기


출처
인프런 Rookies님 강의

Categories:

Updated:

Leave a comment