Y a-t-il une différence entre un std::pair
et un std::tuple
avec seulement deux membres ? (Outre l'évidence que std::pair
nécessite deux et seulement deux membres et tuple
peut avoir plus ou moins...)
Réponses
Trop de publicités?Le nom d'un std::tuple
est plus long (un caractère supplémentaire). Un plus grand nombre de ces caractères sont tapés avec la main droite, donc plus faciles à taper pour la plupart des gens.
Cela dit, std::pair
ne peut avoir que deux valeurs - pas zéro, un, trois ou plus. DEUX valeurs. Un tuple, cependant, n'a presque aucune limitation sémantique sur le nombre de valeurs. Un std::pair
, par conséquent, est un type de type sécurisé plus précis à utiliser si vous souhaitez réellement spécifier une paire de valeurs.