【发布时间】:2015-01-20 17:34:58
【问题描述】:
我的问题是一个基本问题。由于std::strings 是数组,我是否在我的复制构造函数中正确处理它们?
class json{
private:
std::string _objectContents;
std::string _regComments;
bool _isJson;
int numElements;
public:
json(const json&);
...
};
json::json(const json& source){
_objectContents = source._objectContents;
_regComments = source._regComments;
_isJson = source._isJson;
_numElements = source.numElements;
}
*编辑删除指针并更改为有问题的数组。
【问题讨论】:
-
“既然
std::strings是指针”什么? -
1) 字符串不是指针。 2)拷贝构造函数由编译器生成,你几乎不用自己写。
-
复制构造函数的默认实现在这种情况下应该没问题,你不需要自己写。
-
+1 到 @Borgleader,但如果你仍然想编写复制构造函数,请使用初始化列表初始化成员,而不是在正文中。
-
我没有投反对票,但这可能与之前没有研究有关。此外,它与“拖钓”毫无关系