我有一个包含一组属性的类,我希望能够从另一个实例(名为parent)获取默认值。在C++中实现默认值
如果该实例没有父级,则会为其分配默认值。 但是,如果实例有一个父项,那么我希望它将其属性默认为父项的,限制为,如果父属性被修改,则对象属性也可以获得新值。 鉴于此限制,我不能简单地复制父项的值。
因此,我认为我有两种方法:
- 使用指针:如果指针是nullptr然后使用父值。
- 对每个属性使用bool字段,指示状态。
这两种方法应该可行,但他们也incovenient:
- 第一需要,即使它可以用shared_ptr的或的unique_ptr简化手动实例化。但是这会导致额外的指令,因此速度较慢的代码会导致额外的内存消耗:每个实例每个属性至少需要多一个字节(大部分时间为2,4或甚至8个字节)。
我的问题是:有没有其他的方法来实现这样的行为?或者什么是最好的解决方案?
你的口头描述听起来有点乱。你可以发表一些代码,你想如何使用它,以及你希望它如何表现? – 2011-12-18 23:24:40