title: What are the usual im­ple­men­ta­tion de­tails be­hind mem­ory pools?
body: <p>I am try­ing to un­der­stand us­ing mem­ory pools for mem­ory man­age­ment, but I
  can't find much about it, even though it seems to be a very com­mon
  mech­a­nism.</p>
  
  <p>All I know about this is that "Me­mory pools, also called fixed-size blocks
  al­lo­ca­tion" <strong>per Wiki­pedia</strong>, and I can use those chunks to al­lo­cate
  mem­ory for my ob­jects.</p>
  
  <p>Is there any stan­dard spec­i­fi­ca­tions about mem­ory pools?</p>
  
  <p>I would like to know how this works on the heap, how it can be
  im­ple­mented, and how this should be used?</p>
  
  <p>From <a href="https://stackoverflow.com/questions/16378306/c11-memory-pool-design-pattern">this ques­tion about C++11 mem­ory pool de­sign pat­terns</a>, I've read:</p>
  
  <blockquote>
    <p>In case you haven't al­ready, fa­mil­iar­ize your­self with Boost.Pool. 
    From the Boost doc­u­men­ta­tion:</p>
    
    <blockquote>
      <h1>What is Pool?</h1>
      
      <p>Pool al­lo­ca­tion is a mem­ory al­lo­ca­tion
      scheme that is very fast, but lim­ited in its us­age. For more
      in­for­ma­tion on pool al­lo­ca­tion (also called <em>sim­ple
      seg­re­gated stor­age</em>, see <a href="https://www.boost.org/doc/libs/1_53_0/libs/pool/doc/html/boost_pool/pool/pooling.html#boost_pool.pool.pooling.concepts" rel="noreferrer">con­cepts</a> con­cepts and <a href="https://www.boost.org/doc/libs/1_53_0/libs/pool/doc/html/boost_pool/pool/pooling.html#boost_pool.pool.pooling.simple" rel="noreferrer">Sim­ple Se­gre­gated
      Stor­age</a>.</p>
    </blockquote>
  </blockquote>
  
  <p>I can un­der­stand what he meant, but that doesn't help me un­der­stand how to
  use them and how mem­ory pools can help my ap­pli­ca­tion, how to ac­tu­ally
  make use of them.</p>
  
  <p>A sim­ple ex­am­ple that shows how to use mem­ory pools would be ap­pre­ci­ated.</p>