Narzędzia użytkownika

Narzędzia witryny


generate_generate_n

Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Next revision
Previous revision
generate_generate_n [2008/12/11 23:06]
bfugas utworzono
generate_generate_n [2008/12/12 20:23] (aktualna)
bfugas akapit
Linia 1: Linia 1:
 ===== Szablony generate i generate_n ===== ===== Szablony generate i generate_n =====
 Szablony ''​generate''​ i ''​generate_n''​ pozwalają przypisać wartości zwracane przez //​generator//​ do elementów tablicy lub kontenera udostępniającego iterator. Są szczególnie przydatne wtedy, gdy kontener chcemy wypełnić zgodnie z jakąś zależnością funkcyjną. Można z nich również korzystać w celu przypisania kolejnym elementom losowych wartości.\\ ​ Szablony ''​generate''​ i ''​generate_n''​ pozwalają przypisać wartości zwracane przez //​generator//​ do elementów tablicy lub kontenera udostępniającego iterator. Są szczególnie przydatne wtedy, gdy kontener chcemy wypełnić zgodnie z jakąś zależnością funkcyjną. Można z nich również korzystać w celu przypisania kolejnym elementom losowych wartości.\\ ​
-Generatorem może być bezargumentowa funkcja lub //obiekt funkcyjny//​((//​obiekt funkcyjny//,​ //funktor// - obiekt udostępniający metodę ''​operator()''​)),​ zwracająca obiekty takiego samego typu, jak przechowywane w kontenerze.+Generatorem może być bezargumentowa funkcja lub //obiekt funkcyjny//​((//​obiekt funkcyjny//,​ //funktor// - obiekt udostępniający metodę ''​operator()''​)),​ zwracający obiekty takiego samego typu, jak przechowywane w kontenerze.
  
 ===== generate =====  ===== generate ===== 
Linia 67: Linia 67:
   * otrzymanie takiego iteratora jest niemożliwe.   * otrzymanie takiego iteratora jest niemożliwe.
  
-Przykładowo takiej operacji (patrz {{:​stl_algorytmy:​generate_n.cpp}}):+Przykładowo takiej operacji (patrz {{:​stl_algorytmy:​generate2.cpp}}):
 <code cpp>  <code cpp>
  generate_n(ostream_iterator<​GeneticAlgorithm::​Individual>​(os,​ " "), 10, ga.rig_)  generate_n(ostream_iterator<​GeneticAlgorithm::​Individual>​(os,​ " "), 10, ga.rig_)
 </​code>​ </​code>​
 za pomocą ''​generate''​ wykonać się nie da. za pomocą ''​generate''​ wykonać się nie da.
 +
 +===== Długi przykład =====
 +//Długi// przykład zastosowania algorytmu dotyczy pewnego szkieletu algorytmu genetycznego,​ a dokładniej generacji populacji początkowej.\\
 +Kolorowy kod programu znajduje się [[generate_kod|tutaj]]. To samo w postaci pliku źródłowego:​ {{:​stl_algorytmy:​generate2.cpp}}
  
 ===== Podsumowanie ===== ===== Podsumowanie =====
 Szablony ''​generate''​ i ''​generate_n''​ umożliwiają łatwe wypełnianie kolekcji wartościami zwracanymi przez funkcje lub funktory. Są przydatne tam, gdzie wartości początkowe elementów kontenera zależą od stanu generatora. ​ Szablony ''​generate''​ i ''​generate_n''​ umożliwiają łatwe wypełnianie kolekcji wartościami zwracanymi przez funkcje lub funktory. Są przydatne tam, gdzie wartości początkowe elementów kontenera zależą od stanu generatora. ​
  
generate_generate_n.1229033165.txt.gz · ostatnio zmienione: 2008/12/11 23:06 przez bfugas