Questions marquées «raii»



16
jeter des exceptions d'un destructeur
La plupart des gens disent de ne jamais jeter d'exception d'un destructeur - cela entraîne un comportement indéfini. Stroustrup fait valoir que "le destructeur de vecteurs invoque explicitement le destructeur pour chaque élément. Cela implique que si un destructeur d'élément lance, la destruction de vecteur échoue ... Il n'y a …


5
Dois-je fermer manuellement un ifstream?
Dois-je appeler manuellement close()lorsque j'utilise un std::ifstream? Par exemple, dans le code: std::string readContentsOfFile(std::string fileName) { std::ifstream file(fileName.c_str()); if (file.good()) { std::stringstream buffer; buffer << file.rdbuf(); file.close(); return buffer.str(); } throw std::runtime_exception("file not found"); } Dois-je appeler file.close()manuellement? Ne devrait pas ifstreamutiliser RAII pour fermer des fichiers?
201 c++  ifstream  raii 




En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.