template <class T>//oppure <typename T>, è assolutamente uguale
void print(ostream& os, const vector<T>& v){//passo uno stream generico
for(size_t i=0;i<v.size();++i)
os << v[i] << "\n"; //<< operatore inserter per gli stream; si può concatenare
}
int main(){
vector<double> v;//è un template a cui passo il tipo di dato con <T>
for(size_t i=0;i<10;++i)//no int, altrimenti mismatch con la size v.size()
v.push_back(float(i));//costruttore di float a cui si passa un int
print(cout, v);
ofstream fout("prova.txt");//per il file si crea un oggetto ofstream di nome fout
print(fout, v);
Nessun commento:
Posta un commento