我有一些动态的对象数组(在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] ;
}
}
我想将所有这些数组保存在其他(静态或动态)数组中
答案 0 :(得分: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());