如何在C ++中创建元组向量?

问题描述 投票:0回答:1

[有一个生成器,每次迭代生成一个16个整数的元组。我想将这些元组添加到向量中。创建矢量时,我必须写std::vector<std::tuple<int, int, .... 16 times>>。还有另一种方法来创建这些元组的向量。

用于测试包含5个整数的元组的情况的代码:

#include "cppitertools/itertools.hpp"
#include <iostream> 
#include <tuple>
#include <vector> 

int main()
{
    std::vector<int> v1{0, 1};
    std::vector<std::tuple<int, int, int, int, int>> states;

    for (auto&& i : iter::product<5>(v1)) 
    {
        states.push_back(i);
    }

    auto size = states.size();
    std::cout << size << std::endl;

}

我正在使用cppiterator

c++ stdvector stdtuple
1个回答
0
投票

我相信这应该有效:

int main()
{
    std::vector<int> v1{0, 1};
    using the_tuple = decltype(iter::product<16>(v1));
    std::vector<the_tuple> states;

    for (auto&& i : iter::product<16>(v1)) 
    {
        states.push_back(i);
    }

    auto size = states.size();
    std::cout << size << std::endl;
}
© www.soinside.com 2019 - 2024. All rights reserved.