我有一堆的类型,PixelMeasure,PointMeasure,CentimeterMeasure等等,这表示与一个单元的值.我希望他们有
Measure并且可以对它进行操作,而不知道它是什么类型的.我还希望能够将多个不同的Measures放入容器中.看来这些在C++中是互斥的.对于多态,我需要使用指针或引用.
我看到两个选择:
shared_ptr.这给了我想要的行为(安全,没有原始指针,但是多态调度).缺点是:
shared_ptr<PixelMeasure>)的副本将共享相同的底层指针.我仍然可以假装它具有值语义 - 如果我使接口不可变,那应该没关系.有任何想法吗?