auto / decltype
- auto
- 변수 선언시, 우변의 표현식 조사해서 컴파일러가 타입 결정
- 컴파일 할 때 타입 결정, 실행 시 오버헤드 많음
- decltype
- ( ) 안의 표현식으로 타입을 결정 → 함수(클래스) 템플릿 등을 만들 때 주로 사용
int main(){
int x[5] = {1,2,3,4,5};
auto n = x[0];
decltype(n) n1;
}
주의해야할 예시
int main(){
int x[5] = {1,2,3,4,5};
auto a = x;
decltype(x) d;
decltype(x) d1 = x;
}
typedef 헷갈리는 예시들 - 함수 형태 쓸때
# EX1
typedef int(*JAEHA) (int);
JAEHA h;
# EX2
enum d {MON, TUE, WED, THU, FRI, SAT, SUN};
typedef enum d DAY;
enum d {MON=3, TUE, WED, THU, FRI, SAT, SUN};
int x = TUE;
Using
- typedef VS using
- typedef - type에 대한 별칭
- using - type에 대한 별칭 + template에 대한 별칭