对象申请的资源应在析构函数中释放
2.9 ID_memberDeallocation
对象在析构函数中释放自己申请的资源是 C++ 程序设计的重要原则,不可被遗忘,也不应要求用户释放。
示例:
class A {
int* p = nullptr;
public:
A(size_t n): p(new int[n]) {
}
~A() { // Non-compliant, must delete[] p
}
};
例中成员 p 与内存分配有关,但析构函数为空,不符合本规则要求。