Ce n'est pas une question de conception, vraiment, même si cela peut sembler. (Eh bien, d'accord, c'est une sorte de question de conception). Ce que je me demande, c'est pourquoi les classes C ++ std::fstream
ne prennent pas std::string
dans leur constructeur ou leurs méthodes ouvertes. Tout le monde aime les exemples de code:
#include <iostream>
#include <fstream>
#include <string>
int main()
{
std::string filename = "testfile";
std::ifstream fin;
fin.open(filename.c_str()); // Works just fine.
fin.close();
//fin.open(filename); // Error: no such method.
//fin.close();
}
Cela me donne tout le temps lorsque je travaille avec des fichiers. La bibliothèque C ++ utiliserait sûrement std::string
autant que possible?