Position d'un typedef de conteneur
Bonjour,
J'ai plus une question de « design » qu'un réel problème à vous soumettre.
Le contexte est simple : une classe dont les instances sont stockées dans un (ou plusieurs) conteneur(s).
Histoire de faciliter l'utilisation de ce conteneur, faire un « typedef » me paraît une bonne idée.
Seulement, où est-il le plus judicieux de le placer ?
Pour commencer, j'aurais tendance à penser que le fichier d'en-tête n'est pas un mauvais emplacement.
Mais j'hésite entre le définir comme un type interne ou externe.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| #include <vector>
class UneClasse
{
public:
// En type interne
typedef std::vector<UneClasse> Vector;
(...)
}; // class UneClasse
// En type externe
typedef std::vector<UneClasse> UneClasseVector; |
Quitte à avoir les deux… :P
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| #include <vector>
class UneClasse
{
public:
typedef std::vector<UneClasse> Vector;
(...)
}; // class UneClasse
typedef UneClasse::Vector UneClasseVector; |
Ma première idée serait plutôt de faire un type interne…
N'hésitez pas à laisser des avis commentés et autres remarques constructives ! ;)
NB: Pour les plus rapides, un peu de patience…
Des précisions arrivent.