我遇到的问题是我的一个对象中有一个对象的shared_ptr
列表。所以类型是这样的list<shared_ptr<some_object>>
。但是我实现的接口要求此列表从具有以下签名
const list<shared_ptr<const some_object>>& getObjList()
。
由于list<shared_ptr<const some_object>>&
和list<shared_ptr<some_object>>&
不可相互转换,因此编译器不允许我返回列表。无论如何,我可以返回必需的列表,而不必复制其元素为shared_ptr<const some_object>
的副本吗?