我正在阅读这个线程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