Przesuwanie QVector

0

Jak przesunąć wartości w tablicy QVector, przy tym usunąć pierwszą, tak aby zrobić sobie na końcu miejsce na kolejną wartość? Jest od tego jakaś metoda, szukam i nie znalazłem. Pytanie może banalne, ale proszę o pomoc.

Pozdrawiam.

0
for(auto i = 1; i < vec.size(); ++i) {
    vec[i-1] = vec[i];
}

vec[vec.size()-2] oraz vec[vec.size()-1] zawierają te same wartości, więc możesz robić co chcesz z tą drugą.

ew jak człowiek użyj std::rotate tj. rotate(begin(v), begin(v)+1, end(v));
na przykładzie:

#include <iostream>
#include <algorithm>
using namespace std;

int main() {
	int v[] = {1, 2, 3, 4};
	rotate(begin(v), begin(v)+1, end(v));
	for(auto e: v) {
		cout << e;
	}
	return 0;
}

http://ideone.com/TX3DUW

0

Hmmm... Znaczy, że z metod tutaj: http://doc.qt.io/qt-5/qvector.html na marne szukałem tego co mi potrzeba.
Dziękuję.

1 użytkowników online, w tym zalogowanych: 0, gości: 1