Ich möchte hängen Sie den Inhalt des Vektors duplizieren und will, dass sie am Ende des ursprünglichen Vektors dh v[i]=v[i+n] for i=0,2,...,n-1
Nizza Art und Weise einen Vektor selbst
ich für eine nette Art und Weise bin auf der Suche angehängt werden, es zu tun, nicht mit einer Schleife. Ich sah std::vector::insert
, aber die iterative Version verbietet einen Iterator zu *this
(d. H. Verhalten ist nicht definiert).
Ich habe auch versucht std::copy
wie folgt (aber in Segmentierungsfehler in Folge):
copy(xx.begin(), xx.end(), xx.end());
möglich Duplikat [Falsche Ergebnisse, wenn Vektor selbst anhängt Kopie mit und zurück \ _inserter] (http://stackoverflow.com/questions/11511510/wrong-results-when-appending-vector-to-itself-using-copy-and-back-inserter) –
@BenVoigt, Um fair zu sein, Als ich diese Frage gestellt habe, habe ich es versucht und wollte zu wissen, warum es nicht funktioniert hat. Ich brauchte eigentlich keine elegante Arbeitslösung, daher gibt es nur Erwähnungen in den Kommentaren. – chris
Ich frage mich, ob die meisten Menschen die Implementierung zum ersten Mal richtig gemacht hätten, wenn sie es mit einer Schleife codiert hätten. – MarkB