我正在閱讀這個線程Array slicing in c++,接近我正在尋找,但不完全。我想從int數組中移除前3個元素。整數陣列切片
我有什麼現在:
void shiftArray(int *arr, int size) {
for (int i = 0; i < size - 3; i++) {
arr[i] = arr[i + 3];
arr[i + 3] = -1; // can't re size array so set them to -1
}
}
我想:
int* shiftArray(int *arr, int size) { // return type can stay void if possible
return arr[3::]; // python
}
是否有可能有一個非迭代的方法進行前三個元素轉移到最終用值-1
並移動其餘的元素以取代它們的位置?
如果你想調整陣列中使用矢量數組類,但如果你只是想轉移我可以送你這對你做這個代碼。 –
改爲使用['std :: vector'](http://en.cppreference.com/w/cpp/container/vector)。它有'erase()'方法。 –
@Bahman_Mokri如果代碼比我的代碼好,那麼請是 – JGerulskis