什么是正确的做法?我知道如果容器是基类值类型,那么存储的派生对象是“切片”的。如果容器是派生类类型,则不能存储基类对象。对?
如果使用指针,auto_ptr 不能使用,因为它有复制语义问题。shared_ptr 是解决此问题的唯一解决方案吗?
谁能提供解决此问题的更多详细信息、示例代码或在线文章?这应该是一个很常见的问题,但是我在教科书或网上没有找到太多关于它的信息。
提前致谢。
顺便说一句,我只是在 unique_ptr 上搜索。它似乎不支持复制语义。那么在STL中使用不是只比auto_ptr安全,而是可能由于缺乏复制语义,许多STL操作或算法不能在unique_ptr的容器上使用?