【发布时间】:2019-10-18 08:41:21
【问题描述】:
在我的班级中,我有一个元组对象,我想访问其中的对象作为参考。
实际上,我想知道如何编写一个 get 函数来访问我的元组中的对象?
我写了一个函数,它返回元组中对象的左值。我想知道如何将其更改为返回右值?
我有一个名为 GetIndex 的模板,它返回我的元组中对象类型的索引。在我的元组中,我肯定有唯一的类型对象。
//return just lvalue
template <typename T>
T get_module()
{
return std::get<Private::GetIndex<T, Args...>::value>(types);
}
//compilation error
template <typename T>
T& get_module()
{
return &std::get<Private::GetIndex<T, Args...>::value>(types);
}
'''
【问题讨论】: