[C++] 형식 지정자 키워드 : decltype
decltype은 알고자 하는 변수 식의 타입으로 치환하는 역할을 한다.
예를 들어서
int a = 10;
decltype(a) b = 3;
b의 타입은 a의 타입인 int로 된다. 이로써, 정확하게 타입 그대로를 전달할 수 있게 된다.
또, 타입의 결과를 알 수 없을 때도 사용한다.
template <typename T, typename U>
void add(T t, U u, decltype(t + u) *result) {
*result = t + u;
}
(1) double t, double u => double * result
(2) double t, int u => double * result
(3) int t, int u => int * result
댓글
댓글 쓰기