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...