[IO][stream] Opérateur >> et string
Salut,
C'est encore moi... Et pour une question assez proche de la précédente (j'ai hésité à poster à la suite).
Je me doute que l'opérateur >> doit appeller une méthode du style operator>>(), et ce coup-ci j'aimerais savoir comment elle fonctionne avec un string (et non pas un const char* ce coup-ci j'en suis sûr ;)).
J'ai le code suivant :
Code:
1 2 3 4 5 6
| std::ifstream in("out.cpp.txt");
std::string line;
for (int i=0; i<10000000; i++) {
in >> line;
} |
La ligne in >> line crée-t-elle un nouvel objet string ou bien modifie-t-elle la valeur de l'objet line existant ?
Et plus globalement, est-ce que vous voyez quelques choses d'incorrect ou de problématique dans le code suivant (en particulier du coté performances), si ce n'est son utilité :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| #include < string >
#include < iostream >
#include < fstream >
int main(int argc, char *argv[]) {
std::ofstream out("out.cpp.txt");
for (int i=0; i<10000000; i++) {
out << "Caraca, estou passando na posição " << i << std::endl;
}
out.close();
std::ifstream in("out.cpp.txt");
std::string line;
for (int i=0; i<10000000; i++) {
in >> line;
}
in.close();
} |
:merci:
a++