Bonjour,
Dans mon programme, j'ai une grille 3D. Chacune des ses cases (cubes) est repérée par un trio <i,j,k>. Existe-t-il un objet équivalent à std::pair mais gérant trois indexes au lieu de deux, svp?
Cordialement,
Rodrigue
Bonjour,
Dans mon programme, j'ai une grille 3D. Chacune des ses cases (cubes) est repérée par un trio <i,j,k>. Existe-t-il un objet équivalent à std::pair mais gérant trois indexes au lieu de deux, svp?
Cordialement,
Rodrigue
Il y a bien boost::tuple, mais je pense que pour ce genre de choses, un struct coor {int i, int j, int k}; et plutôt plus simple...
Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.
tu peux aussi créer ton propre type,
ensuite, tu peux écrire ton propre "make_triplet" si tu veux
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 template< typename First, typename Second, typename Third > struct triplet { typedef First first; typedef Second second; typedef Third third; };
Tout dépend de ce que tu veux en faire. Si tu veux utiliser un itérateur, ça va pas être pratique une struct![]()
Ne réinvente pas la roue. Utilise boost::tuple, qui pourrait bien devenir une partie du standard C++...Il y a bien boost::tuple, mais je pense que pour ce genre de choses, un struct coor {int i, int j, int k}; et plutôt plus simple...
Que boost::tuple fasse probablement partie du prochain standard, oui.
Qu'il ne faille pas réinventer boost::tuple, oui.
Que boost::tuple soit une abstraction appropriée pour le cas cité, c'est là que j'ai un gros doute.
La structure que je propose a l'avantage de nommer ses différents membres, ce qui la rend bien plus simple d'utilisation que boost::tuple. Ce dernier me semble plus indiqué pour écrire du code générique, mais pour du code applicatif, ça me semble inutilement lourd. Ou alors, propose pour la prochaine version du C++ de supprimer le mot clef struct, et de ne permettre que des tuples![]()
Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.
Partager