- What are the resources that a program can manage?
Memory is the most common resource, but any object can be a resource. Any virtual or physical quantity that the program operates on is a resource.
- What are the main considerations when managing resources in a C++ program?
Resources should not be lost (leaked). If a resource is accessed through a handle, such as a pointer or an ID, that handle should not be dangling (referring to a resource that does not exist). Resources should be released when they are no longer needed, in the manner that corresponds to the way they were acquired.
- What is RAII?
Resource Acquisition Is Initialization is an idiom; it is the dominant C++ approach to resource management, where each resource is owned by an object, acquired in the constructor, and released in the destructor of that object.
- How does RAII address the problem of leaking...