C++容器适配器与映射容器全解析
1. 容器适配器相关内容
1.1 优先队列存储智能指针
如果不想保留初始元素集,可以在优先队列中存储 unique_ptr<string> 元素。示例代码如下:
auto ucomp = [](const std::unique_ptr<string>& wp1, const std::unique_ptr<string>& wp2)
{ return *wp1 < *wp2; };
std::priority_queue<std::unique_ptr<string>, std::vector<std::unique_ptr<string>>,
decltype(ucomp)> words2 {ucomp};
这里通过lambda表达式定义了比较方式,由于需要指定比较器类型,所以必须指定优先队列的三个模板类型参数。可以使用 emplace() 或 push() 方法添加元素:
words2.emplace(new string{"one"});
words2.push(std::make_unique<string>("one")
超级会员免费看
订阅专栏 解锁全文

265

被折叠的 条评论
为什么被折叠?



