为什么我需要复制和交换习惯用法?

时间:2016-06-09 11:17:54

标签: c++ c++11 copy-and-swap

我无法在C ++ 11中看到使用复制和交换习惯用语的任何意义。如果我需要句柄,我可以使用unique_ptrshared_ptr。如果我需要一组对象,我可以vectorstring

struct Relax
{
   shared_ptr<Texture> resource;
public:
   /* rest of stuff */
};

对我而言,复制和交换习语听起来像一个充满了等待发生的错误的毫无意义的思考练习。

  • 担心例外

  • 我是否需要担心自我分配?过早优化是万恶之源

  • 我错过了在班级建设者的某个地方拨打swap的地方吗?

  • 也许我在某处遗忘了delete

我们说我有一个令人信服的理由使用手动内存管理。还有分配器,交换指针等等。

现代C ++ 中,何时需要进行手动内存管理(newdelete)w.r.t copy-and-swap?

0 个答案:

没有答案