我使用 read 函数创建树,该函数使用 while 循环从文本文件中检索行,在该循环中我创建一个节点,然后使用 insert 方法将节点插入树中的正确位置。
对于我的复制构造函数,我做了类似的事情,我将根传递给一个有点像我的插入函数的辅助函数,然后将传入的节点的名称复制到函数中的一个节点。看起来有点像这样:
newNode->name = pNode->name;
newNode->left = copyConstructorHelper(pNode->left);
newNode->right = copyConstructorHelper(pNode->right);
然后我返回一个新节点。
在运行 Visual Studio 中内置的采样后,读取方法使用了 %36% 的内存,而复制构造函数只使用了 %4。这是一个巨大的差异,有人可以解释为什么吗?