C++ 动态创建对象指针数组
我有一门课叫“poly”。我想动态创建指向多边形对象的指针数组。变量“TotalPolynomies”包含多边形对象的数量 以下是我声明数组的代码:C++ 动态创建对象指针数组,c++,arrays,class,object,C++,Arrays,Class,Object,我有一门课叫“poly”。我想动态创建指向多边形对象的指针数组。变量“TotalPolynomies”包含多边形对象的数量 以下是我声明数组的代码: poly **polyPtr; polyPtr = new poly *[totalPolynomials]; 我成功地创建了多边形对象,但不知道如何在数组中一个接一个地存储它们的指针…如果您正在创建它们,然后想要存储它们,可以执行以下操作 poly ** polyPtr; polyPtr = n
poly **polyPtr;
polyPtr = new poly *[totalPolynomials];
我成功地创建了多边形对象,但不知道如何在数组中一个接一个地存储它们的指针…如果您正在创建它们,然后想要存储它们,可以执行以下操作
poly ** polyPtr;
polyPtr = new poly* [totalPolynomials];
for(int i = 0; i<totalPolynomials; ++i)
{
polyPtr[i] = new poly(arguments);
}
poly**polytr;
polytr=新的poly*[总体多项式];
对于(int i=0;i您实际上并没有在数组中设置指针,因此作为一个演示,您可以编写如下内容:
poly** polyPtr = new poly*[totalPolynomials];
for(int i = 0; i < totalPolynomials; ++i)
// You may need to pass constructor arguments here.
polyPtr[i] = new poly();
// or polyPtr[i] = myOtherPointer; in case you just wanna share it.
std::vector<std::shared_ptr<poly>>
poly**polytr=新的poly*[totalpolymorials];
对于(int i=0;i<总体多项式;++i)
//您可能需要在此处传递构造函数参数。
polytr[i]=新的poly();
//或者polyPtr[i]=myOtherPointer;以防你只想分享它。
存储指针与为新指针分配内存类似。基本上,您需要用指针替换新指针
在C++中,为了提高你的工作效率和心理健康,没有任何答案可以不需要考虑更高级别的数据和内存管理。
因此,我建议使用如下方式:
poly** polyPtr = new poly*[totalPolynomials];
for(int i = 0; i < totalPolynomials; ++i)
// You may need to pass constructor arguments here.
polyPtr[i] = new poly();
// or polyPtr[i] = myOtherPointer; in case you just wanna share it.
std::vector<std::shared_ptr<poly>>
std::vector
或
std::vector
取决于您的具体需求。我建议使用
std::vector
(或std::vector
)。我建议不要这样做。按照@Jarod42所说的去做。我认为他不是在尝试创建2D数组,而是一个一维指针数组。。。