对于仅包含向量元素的 class 的 c'tor d'tor,默认值是否足够?

is default enough for a c'tor d'tor of a class with vector elements only?

我有一个名为 Item 的 class,它有两个向量作为私有元素

class Item
{
  private:
     std::vector<std::string> V;
     std::vector<std::string> E;
  public:
     Item(std::vector<std::string> V,std::vector<std::string> E): V(V),E(E){}
     Item(const Item& Item)=default;
     ~Item()=default;
      Item& operator=(const Item& Item)=default;

};

如你所见,我使用了 d'tor 的默认值,复制 c'tor 和 operator =, 但这足够了还是我应该为他们每个人写正文?

您不需要自己编写,但我会修改您的构造函数的声明。

Item(const std::vector<std::string>& v, const std::vector<std::string>& e):V(v), E(e){}

总是更喜欢通过 const 引用传递大对象而不是通过值。按值传递对象可能会导致不必要的对象复制。