반응형
decltype 키워드
( ) 안의 표현식으로 타입 결정
함수 템플릿 등 만들 때 주로 사용
#include <cstdio>
int main()
{
int arr[3] = { 0, 1, 2 };
decltype(arr) x;
x[0] = 100;
x[1] = 200;
x[2] = 300;
for (auto v : x)
{
printf("%d\n", v);
}
}
Q) Auto 키워드와는 무슨 차이가 있을까?
auto 키워드와 유사해보이는데
모두 타입을 추론하거나 명시하는데 사용되지만
목적과 동작방식에는 차이가 있다.
#include <cstdio>
int main()
{
int x[3] = {1, 2, 3};
auto A = x; // int *A
decltype(x) B; // int B[3]
}
• auto 값을 기반으로 타입 추론
decltype: 변수나 표현식에서 타입 추출
• auto 키워드는 초기화 값이 반드시 필요하지만
decltype은 초기화하지 않아도 사용 가능
• auto 키워드는 타입을 간결하게 표현할 때 사용한다면
decltype은 정확한 타입 추출할 때 사용
반응형
'프로그래밍 언어 > C++' 카테고리의 다른 글
[C/C++] 문자열 String (0) | 2025.01.10 |
---|---|
[C++] [STL] Vector 사용 방법 (0) | 2025.01.09 |
[C++] 일관된 초기화 (uniform initialization) (2) | 2025.01.01 |
[C++] structure binding (3) | 2024.12.31 |
[C++] 디폴트 파라미터(default parameter) (0) | 2024.12.30 |
댓글