RAII (Resource Acquisition Is Initialization) — resource management via object lifetime.
1class File {2private:3 std::ifstream file;45public:6 File(const std::string& path) {7 file.open(path); // Acquire8 }910 ~File() {11 if (file.is_open()) {12 file.close(); // Release13 }14 }15};
Principle: