Possible en double:
Are C++ recursive type definitions possible, in particular can I put a vector<T> within the definition of T ?Conteneurs récursifs en C++?
Je regardais à travers un code récemment et a remarqué une structure de données similaire à ce qui suit:
class TreeNode {
std::vector<TreeNode> subNodes;
};
Comme vous pouvez le voir, la conteneur est instancié avec TreeNode avant TreeNode a été défini. Le code compile sous GCC et MSVC, mais je me souviens avoir vu quelque chose disant que ce comportement n'est pas garanti. Malheureusement, je ne trouve rien du tout dans la norme.
Comment ces conteneurs peuvent-ils être mis en œuvre? Ce comportement est-il garanti par la norme? Si cela n'est pas garanti par la norme, quelles alternatives ai-je à ce design?
Il y avait une question exactement comme ceci plus tôt .. maintenant je dois le trouver! – Marlon