只删除数组的第一个元素

Mar*_*rko 4 c++ arrays delete-operator

是否有可能做这样的事情:

int *iarray = new int[10];
.....
//do something with it
.....
Run Code Online (Sandbox Code Playgroud)

然后为了轻松删除第一个元素,请执行以下操作:

delete iarray;
iarray++;
Run Code Online (Sandbox Code Playgroud)

似乎删除(没有 [] )仍然删除整个数组。如果可能的话,删除第一个元素将是非常棘手和聪明的方法。这个想法不是我的,我在某处看到过,但它对我不起作用。难道我做错了什么?

Ale*_*lds 5

使用双端队列从前面移除一个元素——这就是发明这个结构的目的。