template <class T>
void swap(T& a, T& b){
T tmp = a; a = b; b = tmp;
}
Run Code Online (Sandbox Code Playgroud)
我正在读一本书,它告诉我上面的代码不适用于数组,除非我们重载'='运算符.我不明白为什么它不应该工作.我们是不是将指针切换到数组的第一个索引?
当我们定义复制构造函数时,是否需要清除我们正在编写的对象的内容?我正在实现一个二叉搜索树,并想知道我是否会有内存泄漏,除非我在实现复制构造函数和赋值运算符时清理它.