как эффективно управлять массивом ресурсов - PullRequest
0 голосов
/ 28 января 2010

Senario моего вопроса заключается в том, что нужно использовать фиксированный размер массива, чтобы отслеживать определенное количество «объектов».

Объект может быть таким же простым, как целое число, или таким сложным, как очень причудливая структура данных. И «отслеживать» здесь означает выделять один объект, когда другой части приложения требуется один экземпляр объекта, и повторно использовать его для будущего выделения, когда возвращается один экземпляр объекта. описательный путь.

#define MAX 65535 
/* 65535 just indicate that many items should be handled . performance demanding! */

typedef struct {
   int item ;
}Item_t;
Item_t items[MAX] ;

class itemManager {
private :
   /* up to you.... */
public :
   int get() ; /* get one index to a free Item_t in items */
   bool put(int index) ; /* recyle one Item_t indicate by one index in items */
}

как вы реализуете две публичные функции itemManager? это зависит от вас, чтобы добавить любого частного участника.

1 Ответ

0 голосов
/ 01 февраля 2010

Попробуйте некоторую модель выделения памяти, есть несколько из них. Простейшим способом было бы хранить объекты в элементах по мере их поступления и сохранять перед ними размер этого объекта imho.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...