小编Dan*_*tov的帖子

如何按类型从std :: tuple获取元素

我有一组类A,B,C,我希望按类型fe的通用代码访问它们的实例

template<typename T>
newObject()
{
    return m_storage->getNew();
}
Run Code Online (Sandbox Code Playgroud)

其中m_storage是A或B或C的实例,取决于T.

所以我提出了std :: tuple,但是有问题因为我无法按类型从元组中获取元素.

std::tuple<A,B,C> m_tpl;
template<typename T>
newObject()
{
    return m_tpl.get<T>().getNew();
}
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?这可能吗?

谢谢.

PS:我不想为每种类型编写newObject的特化.:-)

c++ c++11

4
推荐指数
2
解决办法
5531
查看次数

标签 统计

c++ ×1

c++11 ×1