我有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