gpt4 book ai didi

c++ - 如何从指向方法的指针获取类(对象类型)

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:23:16 25 4
gpt4 key购买 nike

我有一个指向方法的指针:

struct A { int method() { return 0; } };
auto fn = &A::method;

我可以通过 std::result_of 获取返回类型,但是如何从 fn 获取方法的类所有者?

最佳答案

试试这个:

template<class T>
struct MethodInfo;

template<class C, class R, class... A>
struct MethodInfo<R(C::*)(A...)> //method pointer
{
typedef C ClassType;
typedef R ReturnType;
typedef std::tuple<A...> ArgsTuple;
};

template<class C, class R, class... A>
struct MethodInfo<R(C::*)(A...) const> : MethodInfo<R(C::*)(A...)> {}; //const method pointer

template<class C, class R, class... A>
struct MethodInfo<R(C::*)(A...) volatile> : MethodInfo<R(C::*)(A...)> {}; //volatile method pointer

关于c++ - 如何从指向方法的指针获取类(对象类型),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42175294/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com