C ++:设计对象以对系统中的唯一项建模

时间:2013-01-17 16:26:22

标签: c++ design-patterns modeling

我想模拟一组项目(人),其中每个人都有一组独特的特征......如果我不知不觉地绕过我的对象,那么复制构造函数等将导致我的对象发散,使得对象A最终会有多个不同的版本,从方法X返回的A`,从方法Y返回的A``等等。哪种设计模式将帮助我确保如果我将对象传递给各种函数,我将确保始终对每个给定对象的唯一表示进行操作。感谢。

3 个答案:

答案 0 :(得分:2)

使用智能指针或仅通过引用传递。我不确定你期望需要什么更先进的设计模式。

答案 1 :(得分:2)

正如其他人所说,指针,智能指针或传递引用。

如果您担心忘记,可以将复制构造函数设为私有。这样,传递值将是编译器错误。

答案 2 :(得分:2)

只是不要复制你的对象。将它们全部存储在一个中心位置(使用像std :: vector或std :: unordered_map这样的容器),然后将引用传递给各种函数。例如:

void MutatePerson( Person& object );
void InspectPerson( const Person& object );