zoukankan      html  css  js  c++  java
  • boost container

    Boost Container provides additional advantages:

    (1) The interface of the containers resemble those of the containers in the C++11 standard library.

    (2) With boost::container::slist or boost::container::stable_vector, Boost container offers containers the standard library doesn't provide.

    (3) The implementation is platform independent.

    (4) The containers from Boost Container support incomplete types and can be used to define recursive containers.

    #include <boost/container/stable_vector.hpp>
    #include <iostream>
    
    using namespace boost::container;
    
    int main() {
      stable_vector<int> v(2, 1);
      int& i = v[1];
      v.erase(v.begin());
      std::cout << i << std::endl;
      return 0;
    }

    输出:1

    boost::container::stable_vector behaves similarly to std::vector, except that if boost::container::stable_vector is changed, all iterators and references to existing elements remain valid. This is possible because elements aren't stored contiguously in boost::container::stable_vector. It is still possible to access elements with an index even though elements are not stored next to each other in memory.

    Additional containers provided by Boost Container are boost::container::flat_set, boost::container::flat_map, boost::container_slist, boost::container::static_vector.

    boost::container::static_vector stores elements like std::array directly in the container. Like std::array, the container has a constant capacity. The capacity is conastant, but can be changed with resize(). push_back() doesn't change the capacity, throws an exception of type std::bad_alloc.

  • 相关阅读:
    期末考试(优先队列)
    看病要排队《优先队列》
    Windows Message Queue(优先队列)
    Stones(优先队列)
    懒省事的小明(优先队列)
    产生冠军(set,map,拓扑结构三种方法)
    Web轻量级扫描工具Skipfish
    Web侦察工具HTTrack (爬取整站)
    文件上传漏洞绕过技巧
    Python爬虫之selenium的使用(八)
  • 原文地址:https://www.cnblogs.com/sssblog/p/11051750.html
Copyright © 2011-2022 走看看