gpt4 book ai didi

C++ 从 tuple...> 获取值

转载 作者:行者123 更新时间:2023-12-02 19:42:07 25 4
gpt4 key购买 nike

我有一个存储类,其中有 vector 元组。我希望能够从中获得值(value)。我应该如何实现 getRow()?

所有 vector 的长度始终完全相同。

template<class ... Ts>
class Storage
{
std::tuple<std::vector<Ts>...> m_col;

public:
auto getRow(int row) {
// get row-th element from each vector, put it together and return them as tuple
}

template<size_t I>
auto getElement(int row) {
return get<I>(m_col)[row];
}
};

最佳答案

您还可以使用 std::apply (C++17),它比 index_sequences 更简单:

auto getRow(std::size_t row)
{
return std::apply([&](const auto&... columns) {
return std::tuple<Ts...>{columns[row]...};
}, m_col);
}

关于C++ 从 tuple<vector<Ts>...> 获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61365828/

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