Narzędzia użytkownika

Narzędzia witryny


copy_copy_n

To jest stara wersja strony!


Algorytmy copy i copy_n

Funkcja copy kopiuje elementy od pierwszego do ostatniego z kontenera pierwszego wstawiając je od elementu result kontenera docelowego. Używa przypisania *result = *first, *(result + 1) = *(first + 1) …

Elementy [first, last) z kontenera wzorcowego zostają skopiowane do elementów [resutl, result + (last-first)) kontenera docelowego.

Analogicznie działa funkcja copy_n, tylko zamiast końca przedziału last pobiera liczbę elementów do skopiowania - n.

Elementy [first, last) z kontenera wzorcowego zostają skopiowane do elementów [resutl, result + n) kontenera docelowego.

Elementy są kopiowane od pierwszego do ostatniego.

Deklaracja

copy w pliku nagłówkowym algorithm:

template <class InputIterator, class OutputIterator>
OutputIterator copy(InputIterator first, InputIterator last,
                    OutputIterator result);

copy_n w pliku nagłówkowym algo.h:

template <class InputIterator, class Size, class OutputIterator>
OutputIterator copy_n(InputIterator first, Size count, 
                      OutputIterator result);

Parametry

* first - iterator wskazujący na pierwszy element do kopiowania z kontenera * last - iterator na jeden element za ostatnim do kopiowania z kontenera * result - iterator na pierwszy element docelowego kontenera * count - liczba elementów do skopiowania

Wymagania odnośnie parametrów

  • n >= 0 * [first, last) jest poprawnym przedziałem
  • [first, last) nie nachodzi na result. Jeśli nachodzi to wynik może być inny niż zamierzenia autora. Elementy są kopiowane od pierwszego do ostatniego, więc ostatnie elementy będą niepoprawne.
  • [result, result + n) lub [result, result + (last-first) ) są poprawnymi przedziałami

Zwracana wartość

Funkcja zwraca iterator na pierwszy za ostatnim zmienionm w zbiorze docelowym elementem.

Wymagania na parametryzowane typy

  • InputIterator
  • OutputIterator

Złożoność

Algorytmy copy i copy_n mają złożoność liniową i równą N lub (last-first).

Przykład użycia

} </code>

copy_copy_n.1241057356.txt.gz · ostatnio zmienione: 2009/04/30 04:09 przez jan_dudziec