namespace cpp {}

C++ lernen, kennen, anwenden

Benutzer-Werkzeuge

Webseiten-Werkzeuge


kennen:lib:copy

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.


Vorhergehende Überarbeitung
kennen:lib:copy [2023-10-14 11:48] (aktuell) – [Ergebnis] rrichter
Zeile 1: Zeile 1:
 +====== copy() ======
 +''#include'' [[..:include:algorithm]]
 +
 +<code cpp>
 +Out copy (In first, In last, Out result) 
 +Out copy (Exec pol, In first, In last, Out result) 
 + 
 +[last, res] = ranges::copy (Range r, Out result) 
 +[last, res] = ranges::copy (In first, In last, Out result) 
 +</code>
 + Kopiert die Werte des Bereiches [first,last) nach [result,...).
 +
 +==== Parameter ====
 +| ''first''  | Anfang des Quellbereiches|
 +| ''last''   | Ende des Quellbereiches|
 +| ''result'' | Anfang des Zielbereiches|
 +| ''pol''   | [[..:include:execution|parallele Ausführungsart]] |
 +
 +Der Anfang des Zielbereichs sollte nicht im Quellbereich liegen,
 +dann wäre [[copy_backward]] einzusetzen.
 +
 +==== Ergebnis ====
 +Rückgabewert: Iterator auf das Ende des Zielbereiches bzw. ''{last, out + N}'' mit ''N = last - first''
 +als Struktur mit Elementen namens ''in, out''.
 +
 +
 +==== Siehe auch ====
 +[[copy_backward]],
 +[[copy_if]],
 +[[copy_n]],
 +[[move]],
 +[[remove_copy]],
 +[[remove_copy_if]].
 +
 +==== Beispiel ====
 +<code cpp copy.cpp>
 +#include <algorithm>
 +#include <iostream>
 +
 +int main()
 +{
 +  char str[] = "abcDEFGH";
 +  std::cout << str << '\n';            // abcDEFGH
 +
 +  char *ende = std::copy( str+3, str+8, str );
 +
 +  std::cout << "v----" << ende << '\n' // v----FGH 
 +            << str << '\n';            // DEFGHFGH
 +}
 +</code>
  

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki