Fixer template à l'exécution
Bonjour,
J'ai une question toute simple dont je n'arrive pas a trouver la réponse...
Imaginons que l'on a une libraire C++ de ce type:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
template <int DEG>
class Tree {
struct Node {
std::array<std::unique_ptr<Node>, DEG> next;
bool val=false;
};
Node root;
public:
void add(std::vector<int> mot) {
Node *pos = &root;
for(auto a: mot) {
if( !pos->next[a] )
pos->next[a] = std::make_unique<Node>();
pos = pos->next[a].get();
}
pos->val = true;
}
}; |
L'utilisation de cet arbre est facile si on connait avant la compilation le degré maximal de chaque nœud.
La question que je me pose est de savoir si il possible d'utiliser cette classe sans la modifier dans un cadre dynamique ?
C'est a dire choisir cette taille a l'exécution.
Connaissez-vous un moyen simple de faire ça ?
Merci pour votre aide