c++ - Creating number pools -


i created simple container class, holds number pool of unique numbers. returns number pool before container destroyed.

//pooled.hpp #pragma once  #include <queue>  class pooled { public:     pooled();     ~pooled();     //edit: disable copy , copy assignment here     const int number; private:     int getnumber();     static std::queue<int> pool;     static int currentsize; }; 

and

//pooled.cpp #include "pooled.hpp"  std::queue<int> pooled::pool; int pooled::currentsize = 1;  pooled::pooled() : number(getnumber()) {}  pooled::~pooled() {     pool.push(number); }  int pooled::getnumber() {     if (pool.empty()) {         pool.push(currentsize);         currentsize++;     }     int newnumber = pool.front();     pool.pop();     return newnumber; } 

but let's wanted create multiple pools of numbers. define arbitrary number of std::queue<int>s somewhere, have every pooled object hold reference specific one. doubles size of every pooled object.

or create class every pool need, pooled1, pooled2 sounds quite dumb, keeps each object small. there way accomplish both goals?


Comments

Popular posts from this blog

get url and add instance to a model with prefilled foreign key :django admin -

css - Make div keyboard-scrollable in jQuery Mobile? -

ruby on rails - Seeing duplicate requests handled with Unicorn -