我有2类:复制从一个指针中的内容复制到另一个
class Request
{
KeyValuePair* dimension;
};
class Response
{
KeyValuePair* dimension;
};
class KeyValuePair
{
public:
hash_map<string, string> hmap;
};
的方法之一,我想填充Response.dimension
与Request.dimension
,但我想Request.dimension
从Response.dimension
指向不同的地址?
我不想要任何改变Response.dimension
这也影响Request.dimension
。
有没有办法做到这一点?
void Transformation::applyTransformations(const Request& req, Response& res)
{
res.dimension = req.dimension; // WRONG. Pointing the same address.
}
如何定义“KeyValuePair”?它是否有合适的(复制)构造函数? – 2012-03-01 09:43:39
如果你有正确定义的拷贝构造函数,你可以执行'res.dimension = new KeyValuePair(req.dimension);'。 – jogojapan 2012-03-01 09:43:42