C++ 如何组合向量的两个向量';这一排是什么?

C++ 如何组合向量的两个向量';这一排是什么?,c++,algorithm,stdvector,C++,Algorithm,Stdvector,我试图将一个向量附加到行中的另一个向量上,就像4x4向量变成4x8(而不是8x4行/列) 我需要指示,使它4x8 Grid是一个由Square对象组成的对象 Grid CombineGrid(Grid one, Grid two) { vector<vector<Square>> gridOne = one.fields; vector<vector<Square>> gridTwo = two.fields; vector

我试图将一个向量附加到行中的另一个向量上,就像
4x4
向量变成
4x8
(而不是
8x4
行/列)

我需要指示,使它
4x8

Grid
是一个由
Square
对象组成的对象

Grid CombineGrid(Grid one, Grid two)
{
    vector<vector<Square>> gridOne = one.fields;
    vector<vector<Square>> gridTwo = two.fields;
    vector<vector<Square>> temp;
    int reqCol = one.columns + two.columns, reqRow = one.rows + one.rows;
    temp = gridOne;

    temp.insert(temp.end(), gridTwo.begin(), gridTwo.end());

    for (const auto &row : temp)
    {
        for (Square x:row) 
        {
            cout << "y" << ' ';
            cout << endl;
        }
    }
    Grid finalGrid(one.columns + two.columns, two.rows + two.rows);
    finalGrid.fields = temp;

    return finalGrid;
}
网格组合ID(网格一、网格二)
{
向量gridOne=一个字段;
向量gridTwo=两个字段;
向量温度;
int reqCol=1.columns+2.columns,reqRow=1.rows+1.rows;
temp=gridOne;
temp.insert(temp.end(),gridTwo.begin(),gridTwo.end());
用于(常量自动和行:临时)
{
用于(方形x:行)
{

您想将gridOne[0](第一个向量的第一个元素)与gridTwo[0](第二个向量的第一个元素)以及其他元素的类似元素连接起来吗? 如果答案是肯定的,您可以尝试以下方法:

   size_t grid1Size = gridOne.size();
   for (size_t i = 0; i < grid1Size; i++)
   {
      if(i > gridTwo.size())
      {
         gridTwo.push_back(gridOne[i]);
      }
      else
      {
         gridTwo[i].insert(gridTwo[i].end(), gridOne[i].begin(), gridOne[i].end() );
      }
   }
size\u t grid1Size=gridOne.size();
对于(大小i=0;igridTwo.size())
{
gridTwo.push_back(gridOne[i]);
}
其他的
{
gridTwo[i].insert(gridTwo[i].end(),gridOne[i].begin(),gridOne[i].end());
}
}

< /代码>如果你有一个2D网格,你可以使用很多其他的东西,而不是<代码> STD::vector < /代码>。那里有更适合的数据结构(一组矩阵库,甚至滚动你自己的数据结构可能更好)。