Domanda
Come posso creare e manipolare un vettore di ifstreams?
Qualcosa di simile, ma questa non funziona:
vector<ifstream> Files(10, ifstream());
Files[0].open("File");
Soluzione
Il più vicino che posso pensare è vector<shared_ptr<ifstream> >
-. Non si può mettere ifstream
s nel vettore in quanto non sono copy-costruibile
Altri suggerimenti
Non è possibile memorizzare in un ifstream
s std::vector
, perché non è possibile creare copie di essi.
È possibile realizzare qualcosa di simile, memorizzando puntatori invece. In tal caso, vi consiglio di utilizzare una sorta di un contenitore puntatore a fare in modo che quei ifstreams vengono eliminati.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow