decltype 형식 지정자는 지정 된 식의 형식을 생성 합니다. decltype 형식 지정자는 auto 키워드와 함께 주로 템플릿 라이브러리를 작성 하는 개발자에 게 유용 합니다. auto 및 decltype 를 사용 하 여 반환 형식이 해당 템플릿 인수의 형식에 종속 되는 템플릿 함수를 선언 합니다. 또는 및를 auto 사용 decltype 하 여 다른 함수에 대 한 호출을 래핑하는 템플릿 함수를 선언한 다음 래핑된 함수의 반환 형식을 반환 합니다.
출처:Microsoft
decltype(식)
ex)
int var;
const int&& fx();
struct A { double x; }
const A* a = new A();
네 가지 문에 의해 반환 되는 형식을 검사 decltype 합니다.
decltype(fx());
대 한 rvalue 참조 const int 입니다.
decltype(var);
var 변수의 형식입니다.
decltype(a->x);
멤버 액세스의 형식입니다.
decltype((a->x));
내부 괄호를 사용하면 문이 멤버 액세스가 아니라 식으로 평가됩니다. a가 포인터로 선언 되었으므로 const 형식은에 대 한 참조입니다 const double .
docs.microsoft.com/ko-kr/cpp/cpp/decltype-cpp?view=vs-2019
'프로그래밍언어 > C++' 카테고리의 다른 글
char*->int (0) | 2021.03.06 |
---|---|
<c++>레지스터 변수 (0) | 2020.10.15 |
오버로딩 (0) | 2020.10.04 |
c++ array 탬플릿 (0) | 2020.09.09 |
자동공간, 정적 공간 , 동적 공간(힙)(automatic ,static ,dynamic ) (0) | 2020.09.08 |