1

我有一些对象的动态数组(在 C++ 中)并在我的实现中使用它们。如何将这些数组存储在某个数组中。例如,

class classA{
} ;

class classB {

  private:
     // Dynamic arrays, initialized in constructor
     classA *arr1 ;
     classA *arr2 ;
     classA *arr3 ;
     classA *arr4 ;

  public:
     classB() {
         // initialization
         arr1  = new classA [10] ;
         arr2  = new classA [10] ;
         arr3  = new classA [10] ;
         arr4  = new classA [10] ;
     }

}

我想将所有这些数组保存在其他(静态或动态)数组中

4

1 回答 1

2

只需使用std::vector,它在 C++ 中称为动态数组,通常用作默认容器。

class classB
{
public:
    classB()
    : arr1(10), arr2(10), arrN(10)
    {}
private:
  std::vector<classA> arr1;
  std::vector<classA> arr2;
  //....
  std::vector<classA> arrN;
};

更新:

如果您有几个向量并且想要将一个添加到另一个。请参见下面的示例:

std::vector<classA> arr1;   
std::vector<classA> arr2;
// add something to arr1
// add something to arr2

arr1.insert(arr1.end(), arr2.begin(), arr2.end());
于 2013-10-05T10:26:41.293 回答