반응형
3가지를 예로 들 수 있습니다.
1. using [이름] = [타입]
ex) using ll = long long 으로 활용할 수 있습니다.
타입에 대한 새로운 이름을 만들거나 템플릿 타입에서 사용이 가능합니다.
템플릿 타입은 이런 형식으로 사용할 수 있습니다.
template<typename T>
using MyVector = std::vector<T>;
MyVector<int> myIntVector;
MyVector<double> myDoubleVector;
2. #define [이름] [타입]
ex) #define ll long long 으로 활용할 수 있습니다.
define은 단순 텍스트를 치환해서 사용가능하기 때문에 상수나 매크로 정의에 사용하는 경우가 많습니다.
3. typedef [타입] [이름];
ex) typedef long long ll 으로 활용할 수 있습니다.
typedef는 타입에 대한 별칭으로 사용하며, 타입의 성질과 일치하는 제한사항이 있습니다.
아래는 위의 내용을 전부 사용한 예제 코드입니다.
#include <iostream>
using namespace std;
using ll = long long;
#define in int
typedef double dou;
int main()
{
in a;
ll b;
dou c;
}
논외로 template< typename T> 도 활용할 수 있습니다.
template <typename T>
T sum(T a, T b)
{
return a + b;
}
함수형 템플릿이기에 이련 형식이긴 합니다.
반응형