将动态分配的指针数组调整为类的大小

大天使

在不使用向量的情况下如何调整数组的大小?我要调整大小的数组是一个指向类的指针

class A
{
    private:
    B * b;
    int numOfItems;
    int maxNumOfItems;

    public:
    A();
    ~A();
    resizeMX();
};


A::A()
{
     numOfItems = 0;
     maxNumOfItems = 20;
     b = new B[maxNumOfItems];
     for(int i=0;i<maxNumOfItems ;i++)
     {
         b[i] = 0;
     }
}

A::~A()
{
    for(int i=0;i<numOfItems;i++)
     {
         delete [] b;
     }
}

void A::resizeMX(const B & obj)
{
     bool value=false;
     if(numOfItems<=maxNumOfItems && value == false)
     {
        //assign values to *b in for loop
     }
     else
     {
       //resize index of *b 

我知道我们应该动态分配新的内存。像这样吗?

       ++maxNumOfItems; 
        b=new B[maxNumOfItems];
        //keep previous assigned values and add new values at the end
        for(int j=numOfItems;j<maxNumOfItems;j++)
        {
            //assign values to b[j]
        }
     }  
        numOfItems++;
}

假设我确实重载了=运算符

马丁·加德纳

您无法调整数组的大小,只能分配新数组(具有更大的大小)并复制旧数组的内容。如果您不想使用std :: vector(出于某种原因),请使用以下代码:

int size = 10;
int* arr = new int[size];

void resize() {
    size_t newSize = size * 2;
    int* newArr = new int[newSize];

    memcpy( newArr, arr, size * sizeof(int) );

    size = newSize;
    delete [] arr;
    arr = newArr;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

重新调整动态分配数组的大小

来自分类Dev

向前声明并动态分配该声明类的指针数组?

来自分类Dev

无法动态分配大小为10的数组

来自分类Dev

删除动态分配的数组与单个指针

来自分类Dev

查找动态分配的数组的大小

来自分类Dev

为结构数组动态分配内存

来自分类Dev

在 C++ 中为动态分配的数组使用智能指针

来自分类Dev

调整2D动态分配的大小

来自分类Dev

使用指针逐位将Integer转换为动态分配的Char数组

来自分类Dev

将一行读入动态分配的字符指针数组时出现段错误

来自分类Dev

动态分配/指针/类问题 - 有什么建议吗?

来自分类Dev

从动态分配的指针数组打印时出错

来自分类Dev

如何删除指向动态分配对象的指针数组

来自分类Dev

使用指向结构C ++的指针创建动态分配的数组

来自分类Dev

更改动态分配数组的指针

来自分类Dev

使用动态分配的数组指针调用函数

来自分类Dev

C++ 返回指向动态分配数组的指针

来自分类Dev

动态分配和指针

来自分类Dev

为动态分配的数组分配更多的内存

来自分类Dev

将值分配给指针引用的结构的动态分配结构成员数组时,openacc错误

来自分类Dev

如何动态分配固定的运行时大小的数组?

来自分类Dev

Python - 将变量名动态分配为数组元素

来自分类Dev

在C ++中为联合中的数组动态分配内存

来自分类Dev

无法为字符串数组动态分配内存

来自分类Dev

调整C ++类的动态数组的大小

来自分类Dev

结构数组,动态分配

来自分类Dev

动态分配和数组

来自分类Dev

读写动态分配的数组

来自分类Dev

动态分配结构数组