First of all, this is a game project.
I need to have objects called Skill, that contain their string name, some other members, and a member that is a set of other Skill objects called “requirements”. (This will be a list of prerequisite Skills that the given Skill requires)
In what sort of STL container should I put a set of all Skill objects? vector? set? map?
Is this container also to be used as the type of the member “requirements”?
Skills need to be unique.
As for what I’ll be doing to the set of Skills – searching by name, mostly and combining sets of Skills, and appending Skills to the set.
You don’t define container requirements by what they need to contain, you define it by what operations will be common and how fast they need to operate.
Somewhere there’s a wonderful diagram, kind of like a flow chart, that guides you through selecting a container. If I find it I’ll update this answer.
Edit: Here it is: In which scenario do I use a particular STL container?