我有一个的集合unique_ptr。在这里,我想将其中一些带回给呼叫者。调用者只需要阅读内容,所以我想使用常量引用。但是我不确定如何使用unique_ptrs。
这是一些我使用原始指针执行的代码:
class entry
{
};
vector<entry*> master;
const vector<entry*> get_entries()
{
vector<entry*> entries;
// peusocode, master contains all entries.
// only some entries are copied, filtered by some predicate
copy_if(master.begin(), master.end(), back_inserter(entries), ...);
}
Run Code Online (Sandbox Code Playgroud)
我该如何使用unique_ptrs?我也可以使用shared_ptr,但是所有权非常明确,正如我提到的,调用方不需要写访问权。