Bonjour
Je fais une application qui partage un certain nombre d'objets entre differentes classes.
Voici les données du problèmes :
Les objets à partager allouent de la mémoire dynamiquement à la construction. Ils vont être créés au fur et à mesure de l'execution par l'utilisateur qui en choisira la taille (taille de la mémoire à allouer) puis placés dans un conteneur.
J'aimerais connaître la meilleure stratégie pour faire ça :
- vector <Classe> ?
- vector <Classe*> ?
- smart pointers associé à un conteneur ?
- conteneur intrusif ? (je ne sais pas exactement ce que c'est !)
Il n'y a pas de polymorphisme (en tout cas pour l'instant) dans ce que je dois partager.
Pour préciser (et c'est un peu la source de mes interrogations), le fait que les objets allouent dynamiquement un buffer de mémoire rend difficile et sans vraiment de sens les constructeurs par défault, par copie ou encore operator=().
J'aimerais aussi profiter au maximum de l'allocation sur la pile pour gagner en perf !
Je n'ai encore pas travaillé sur d'applications de grande envergure où ce genre de problème doit être courant, surtout en C++.
Merci de me faire profiter de votre expérience
Rémi
Partager