0

我看不出在 C++11 中使用复制和交换习语有什么意义。如果我需要一个句柄,我可以使用unique_ptror shared_ptr。如果我需要一个对象集合,我可以只使用vectoror string

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

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

  • 担心异常

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

  • 我错过了swap在班级的构造函数中调用某个地方的地方吗?

  • 也许我忘记了delete某个地方?

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

现代 C++中,我什么时候需要进行手动内存管理(newdelete)wrt 复制和交换?

4

0 回答 0