zoukankan      html  css  js  c++  java
  • 【boost::intrusive】容器set 解析

     容器set 解析

    1. 例子

     1 #include <boost/intrusive/set.hpp>
     2 #include <utility>
     3 #include <iostream>
     4 #include <string>
     5 
     6 using namespace boost::intrusive;
     7 
     8 struct vehicle
     9 {
    10   std::string name;
    11   int wheels;
    12   set_member_hook<> set_hook;
    13   vehicle(std::string n, int w) : name{std::move(n)}, wheels{w} {}
    14   bool operator<(const vehicle &v) const { return wheels < v.wheels; }
    15 };
    16 
    17 int main()
    18 {
    19   vehicle v1{"Car", 4};
    20   vehicle v2{"Bike", 2};
    21   vehicle v3{"Train", 24};
    22   vehicle v4{"Cycle", 2};
    23   vehicle v5{"Van", 3};
    24 
    25   typedef member_hook<vehicle, set_member_hook<>, &vehicle::set_hook> hook;
    26   typedef set<vehicle, hook> vehicle_set;
    27   vehicle_set vehicles;
    28 
    29   vehicles.insert(v1);
    30   vehicles.insert(v2);
    31   vehicles.insert(v3);
    32   vehicles.insert(v4);
    33   vehicles.insert(v5);
    34 
    35   for (const vehicle &a : vehicles)
    36     std::cout << a.name << '\n';
    37 }
  • 相关阅读:
    烦人的微软拼音
    android sdk manager 不能连接到https://dl-ssl.google.com
    js 截屏
    计算机的发展史
    python全栈课程内容
    内置函数
    mapfilter educe
    函数式编程->reduce
    函数式编程
    函数式编程->map
  • 原文地址:https://www.cnblogs.com/sunbines/p/15726183.html
Copyright © 2011-2022 走看看