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;
};

アップデート:

いくつかのベクトルがあり、1 つを別のベクトルに追加したい場合。以下のサンプルを参照してください。

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 に答える