我试图理解我的代码下面的指针:
int main()
{
int size = 5; //Size of array
int position = 2; //Position to delete
int *pointer = new int[size]; //Pointer declaration
//Populates array with numbers starting at 1 up to size elements (5 in this case)
for (int i = 0 ; i < size; i++)
{
pointer[i] = i+1;
}
//Prints existing elements (numbers 1 to 5 in this case)
for (int i = 0 ; i < size; i++)
{
std::cout << pointer[i] << ", ";
}
return 0;
}
我知道如果这样做delete [] pointers;
会从内存中删除数组,但是如何删除仅位置2内的对象或调整数组的大小呢?
您不能做任何一件事情。您可以在现有分配中移动项目,也可以进行新分配,将项目复制过来并删除旧分配。
要处理数据,应使用一个名为的容器vector
,该容器提供成员函数以删除元素或调整大小。向量在C ++中等同于大多数其他语言称为“数组”的东西。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句