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? это зависит от вас, чтобы добавить любого частного участника.