我有插座的陣列(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