I have to manage some object list including object creation, deletion. Each object in the list has an unique ID of type unsigned long. When object is created an unique ID should be generated and the object should be added into the container. I suppose to generate IDs continiouosly by incrementing the maximal ID of the object list. Anyway after some objects are deleted from the list, deleted IDs can be used for creation of new objects. Which container is apropriate for this case map or just vector or might be deque?