c ++是否可以使用指针或引用复制默认构造函数?

时间:2013-09-02 15:24:12

标签: c++

我有一个对象人物:

class Person
{
...
public:
Person(string firstName, string lastName);
...
}

在我的主要内容中,我有一个复制构造函数,它应该有效吗? 或者我需要确保两个对象之间不共享成员字段?

Person p1("Arthur", "Janes");
Person p2(p1);

2 个答案:

答案 0 :(得分:1)

只要您的班级只包含正确的可复制成员,那就没关系。具体来说,如果它们存储为std::string那么你就是好的;如果你存储指针或引用,那么可能存在危险。

答案 1 :(得分:0)

只要您的类成员可以复制,并且您在类中没有任何其他特定的复制构造函数,您就应该能够使用复制构造函数。定义类时会生成默认的复制构造函数:

https://stackoverflow.com/a/1810320/1270003