1

std::get 链接获取元组的元素。重载函数有多个版本。如果我有一个从元组派生的类,并且想引入成员方法 Get() 以使用 std::get 获取元组元素。我需要为每个版本的 std::get 编写成员方法还是只能编写一个?

template<class... Args>
class Data
    : public std::tuple<Args...>
{
public:
    typedef std::tuple<Args...> TupleTy;

    // This is only one version.
    template<unsigned N>
    (typename std::tuple_element<N, TupleTy>::type)& Get()
    {
        return std::get<N>(*this);
    }
};
4

0 回答 0