我正在编写一个包含指向同一类型的父对象的指针的类(想想 Qt 的 QObject 系统)。每个对象都有一个父对象,当子对象被销毁时,父对象不应该被销毁(显然)。
class MyClass
{
public:
MyClass(const MyClass* ptr_parent): parent(parent){};
~MyClass(){ delete[] a_children; };
private:
const MyClass* ptr_parent; // go to MyClass above
MyClass* a_children; // go to MyClass below
size_t sz_numChildren; // for iterating over a_children
}
(请原谅我的内联编码,这只是为了简洁)
摧毁“Master MyClass”会照顾所有孩子吗?没有孩子应该能够杀死它的父母,因为我会在我的主程序中有指向被破坏对象的指针,对吗?
你为什么要问?我需要一种方法来“迭代”所有子目录并在独立于平台的级别上查找所有文件。这棵树的创建将由本机 API 处理,其余的则不会。这是一个好主意吗?
谢谢!