6
다음 예제에서 멤버 함수의 반환 형식을 가져 오는 방법은 무엇입니까?멤버 함수의 decltype
template <typename Getter>
class MyClass {
typedef decltype(mygetter.get()) gotten_t;
...
};
물론 문제는 MyClass를 정의하는 동안 "mygetter"개체가 없다는 것입니다.
내가하려고하는 것은 : getter가 반환 한 것이 무엇이든지간에 키를 사용할 수있는 캐시를 생성하는 것입니다.
헤이 오, 나는 그것에 대해 알지도 못하는 (당신이 유일한 유형 공제에 사용할 수 있습니다) 다른 것없이 이러한 객체를 얻기 위해
std::declval
를 사용합니다. 멋지다! 나는 항상'Getter(). get()'을 사용했고'Getter'는 기본적으로 생성 가능하다고 가정했습니다. –