摘要: 我们先看下面两行代码 std::string* stringArray = new std::string[100]; delete stringArray; 这里我们先new了一个string数组,然后又把这个数组删除了。但是delete没有用[],发生了内存泄露。 这个内存泄露可能跟我们理解上有 阅读全文
posted @ 2021-07-01 20:52 Destiny233 阅读(62) 评论(0) 推荐(0)
摘要: Effective C++ 条款11:在operator=中处理自我赋值 潜在的自我赋值 // 1 a[i] = a[j]; // i = j // 2 *px = *py; // py和px指向同一对象 // 3 class Base{}; class Derived: public Base{} 阅读全文
posted @ 2021-07-01 20:41 Destiny233 阅读(95) 评论(0) 推荐(0)
摘要: 构造一个派生类对象需要从基类开始构造,先构造了基类才有派生类。然而,我们 希望派生类在构造其基类部分的时候使用派生类所实现的方法。 根据多态的思想,我们可能在基类中写一个虚函数。然后在基类的构造函数中调用这个虚函数。这样似乎派生类在构造基类部分的时候,就可以通过这个虚函数调用自身实现的版本。但实际上 阅读全文
posted @ 2021-07-01 15:08 Destiny233 阅读(56) 评论(0) 推荐(0)
摘要: 题目 给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。 你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL 的节点将直接作为新二叉树的节点。 示例网站上看吧。 注意: 合并必须从两个树的根节 阅读全文
posted @ 2021-07-01 12:14 Destiny233 阅读(43) 评论(0) 推荐(0)