我有插座的阵列(PFD [NFD] .FD)。我也有一个指针数组(event_tracking * track [10])。如果在我的代码中出现了一点,我尝试从一个关闭的套接字接收数据,我想要移除两个数组中的数组元素,然后移动数组以填充空白点。删除元素,C++
for(j=1; j<nfd; j++) {
if(pfd[j].revents&POLLIN) {
char* p = track.receive_datagram();
if (p == 0) {
delete track[j-1];
//Delete element in pfd[nfd].fd
//Reorder elements of track array
//Reorder elements of pfd array
}
}
}
我知道你可以调用delete运算符要求跟踪析构函数,但我不知道如何重新排序阵列现在,一个是缺少的元素?或者如何删除并重新排列pfd数组?
任何帮助,将不胜感激!我找不到在我的文本中删除和重新排序数组的任何示例。
你可以使用[矢量](http://www.cplusplus.com/reference/vector/vector/)? – MeetTitan
如果元素的顺序不重要,可以用最后一个覆盖已删除的项目并减小长度。 – rodrigo