Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/153.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 动态创建对象指针数组_C++_Arrays_Class_Object - Fatal编程技术网

C++ 动态创建对象指针数组

C++ 动态创建对象指针数组,c++,arrays,class,object,C++,Arrays,Class,Object,我有一门课叫“poly”。我想动态创建指向多边形对象的指针数组。变量“TotalPolynomies”包含多边形对象的数量 以下是我声明数组的代码: poly **polyPtr; polyPtr = new poly *[totalPolynomials]; 我成功地创建了多边形对象,但不知道如何在数组中一个接一个地存储它们的指针…如果您正在创建它们,然后想要存储它们,可以执行以下操作 poly ** polyPtr; polyPtr = n

我有一门课叫“poly”。我想动态创建指向多边形对象的指针数组。变量“TotalPolynomies”包含多边形对象的数量

以下是我声明数组的代码:

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数组,而是一个一维指针数组。。。