Supposons que j'ai cette classe:En C++, comment puis-je créer un nouvel objet pour chaque élément d'un vecteur?
class dog
{
public:
//dogstuff
private:
//secret dogstuff
};
et j'ai une fonction qui recherche par quelque chose sans rapport et me fait un nombre inconnu de noms de chien:
dogNamesVector = getListOfDogNames();
Ainsi, le liste des noms de chiens pourrait être quelque chose comme "Spike, Spot, George, Shadow, ect ..".
Y at-il une façon intelligente d'aller ensuite:
dog DOGNAME()
et obtenir un tas d'objets dog
que je peux appeler et utiliser avec la liste des noms de chiens?
Vous pouvez itérer sur votre vecteur de noms de chiens et créer une instance 'dog' pour chaque nom, en stockant éventuellement ces instances dans un vecteur différent. Peut-être cherchez-vous ['std :: transform'] (http://en.cppreference.com/w/cpp/algorithm/transform)? Il parcourt une plage, en ajoutant une valeur différente à une autre plage. –
C'est une bonne idée! Mais y aurait-il un moyen de les appeler par leur nom? Un peu comme un dictionnaire en python? – driedupsharpie
'std :: map' ou 'std :: unordered_map ' –