开始不能理解有了浅拷贝, 何必再有 move
现在想通了, 理由如下
一个对象只有一个 拷贝构造函数, 你只能要么实现浅拷贝(编译器提供), 要么实现深拷贝.
c++11 提供了 move 语义, 这样你就可以同时实现 浅拷贝, 和深拷贝. 然后编译器就能根据对象的用途自动的选择好 move (浅拷贝)还是深拷贝.
闭包:通过返回一个函数对象, 使用者就可以直接调用函数对象, 而无需调用普通的接口, 并一而再再而三的附带上固定的参数。
开始不能理解有了浅拷贝, 何必再有 move
现在想通了, 理由如下
一个对象只有一个 拷贝构造函数, 你只能要么实现浅拷贝(编译器提供), 要么实现深拷贝.
c++11 提供了 move 语义, 这样你就可以同时实现 浅拷贝, 和深拷贝. 然后编译器就能根据对象的用途自动的选择好 move (浅拷贝)还是深拷贝.
闭包:通过返回一个函数对象, 使用者就可以直接调用函数对象, 而无需调用普通的接口, 并一而再再而三的附带上固定的参数。