Pregunta
¿Cómo puedo crear y manipular un vector de ifstreams?
Algo como esto, excepto que esta no funciona:
vector<ifstream> Files(10, ifstream());
Files[0].open("File");
Solución
Lo más cerca que puedo pensar es vector<shared_ptr<ifstream> >
-. No se puede poner en el vector ifstream
s ya que no está copy-construible
Otros consejos
No se puede almacenar en un ifstream
s std::vector
, porque no se puede crear copias de ellos.
Usted puede lograr algo similar almacenando punteros en su lugar. En ese caso, le recomiendo que utilice algún tipo de un contenedor de puntero para asegurarse de que esos ifstreams se eliminan.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow