2011-01-27 11 views

risposta

10

Grazie Dal momento che un generatore è un oggetto funzione, è possibile creare un'istanza del generatore e fornire argomenti a suo costruttore:

class MyGenerator 
{ 
private: 
    int startValue; 
public: 
    MyGenerator(int startValue): startValue(startValue) {} 

    // generate an instance of A 
    A operator()() 
    { 
     return A(startValue, rand()); // or whatever you were planning to do here...     
    } 
}; 

... 
//down in your code (added Fred's sugestion) 
generate_n(back_inserter(v), 10, MyGenerator(startValue)); 

Poi ogni volta che si genera è possibile utilizzare startValue e rand per il calcolo i prossimi parametri da usare per costruire il tuo oggetto A.

+0

ah ... shikes, battere a momenti ... Eliminerò il mio ... – Nim

+1

generate_n (back_inserter (v), 10, MyGenerator (startValue)); –

Problemi correlati