boost::intrusive::sg_set使用示例
boost::intrusive是一个高效的STL容器库,在其中,sg_set作为一种无序关联容器,专门用于提供内存分配高效、空间利用率高的数据结构。下面我们来看一个sg_set的使用示例。
源代码:
#include <boost/intrusive/sg_set.hpp>
#include <iostream>
using namespace boost::intrusive;
struct MyStruct : public sg_set_base_hook< optimize_size<true> >
{
int value_;
MyStruct(int value) : value_(value) {}
friend bool operator <(const MyStruct& x, const MyStruct& y)
{ return x.value_ < y.value_; }
friend bool operator ==(const MyStruct& x, const MyStruct& y)
{ return x.value_ == y.value_; }
};
typedef sg_set<MyStruct> MySet;
typedef MySet::iterator MySetIt;
typedef MySet::const_iterator MySetCIt;
int main()
{
MySet myset;
myset.inse
本文介绍了Boost Intrusive库中的sg_set容器,这是一个内存高效、空间利用率高的无序关联容器。示例展示了如何定义带有sg_set_base_hook的自定义类,以及如何插入元素并保持元素按特定值排序。sg_set与std::set不同,它不会存储相同元素的多个实例。
订阅专栏 解锁全文
402

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



