result_of Class
겹쳐진된 개체 호출의 반환 형식입니다.
template<class Ty>
struct result_of {
typedef T0 type;
};
매개 변수
- Ty
함수 호출에 대 한 설명 (설명 부분 참조 섹션).
설명
템플릿 클래스의 멤버를 정의 합니다. type 함수 호출의 반환 형식에 대 한 동의어로 설명 템플릿 인수가 Ty.템플릿 인수 형식 이어야 합니다. Fty(T1, T2, ..., TN)여기서 Fty 호출 하는 형식입니다.적용 되는 반환 형식에 따라 첫 번째 다음 규칙의 서식 파일을 결정 합니다.
경우 Fty 함수 형식에 대 한 포인터는 R(*)(U1, U2, ..., UN) 반환 형식인 R.
경우 Fty 함수 형식에 대 한 참조 인 R(&)(U1, U2, ..., UN) 반환 형식인 R.
경우 Fty 멤버 함수 형식에 대 한 포인터는 R(U1::*)(U2, ..., UN) 반환 형식인 R.
경우 Fty 데이터 멤버 형식에 대 한 포인터는 R U1::* 반환 형식인 R.
경우 Fty 멤버 형식 정의 포함 하는 클래스는 result_type 반환 형식인 Fty::result_type.
경우 N 0 (즉, Ty 는 Fty()) 반환 형식인 void.
경우 Fty 라는 멤버 템플릿 포함 하는 클래스는 result 반환 형식인 Fty::result<T1, T2, ..., TN>::type.
다른 모든 경우에이 오류가 발생합니다.
예제
// std_tr1__functional__result_of.cpp
// compile with: /EHsc
#include <functional>
#include <iostream>
double square(double x)
{
return (x * x);
}
template<class Fun,
class Arg>
void test_result(const Fun& fun, Arg arg)
{
typename std::result_of<Fun(Arg)>::type val = fun(arg);
std::cout << "val == " << val << std::endl;
}
int main()
{
test_result(&square, 3.0);
return (0);
}
요구 사항
헤더: <functional>
네임 스페이스: std