std::ifstream
을 사용할 때 수동으로 close()
으로 전화해야합니까? 코드의 예를 들어 ifstream을 수동으로 닫아야합니까?
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");
}
내가 수동으로 file.close()
를 호출해야합니까? RAII 파일을 닫으려면 을 사용해야합니까?
+1 - RAII의 의미를 아는 사람 : --) – Milan
+1 RAII에서 처리하는 것을 알지 못했습니다 ... 매일 새로운 무언가를 배울 것 같습니다 – TStamper
파일을 닫는 중첩 범위를 사용하면 완전히 인위적입니다 - 닫으려는 경우 close()를 호출하십시오. –