是否可以做这样的事情:
int *iarray = new int[10];
.....
//do something with it
.....
然后为了轻松删除第一个元素,请执行以下操作:
delete iarray;
iarray++;
似乎删除(没有[])仍然删除整个数组。 如果可能的话,删除第一个元素将是非常棘手和聪明的方法。 这个想法不是我的,我在某个地方看到了它,但这对我不起作用。难道我做错了什么?
答案 0 :(得分:4)
使用deque从前面删除元素 - 这就是这个结构的发明。
答案 1 :(得分:2)
看起来你正在编写C ++,在这种情况下,delete
技巧是疯狂而可怕而且不会起作用。你当然可以获取第二个元素的指针,如果这是你通过指针数学真正需要的东西,但实际上删除了你要将所有东西一个一个地移回的第一个项目。 / p>
答案 2 :(得分:1)