J'écris une classe qui sera utilisé pour effectuer des calculs sur un ensemble de valeurs, avec mise à l'échelle en fonction d'un poids par valeur. Les valeurs et les poids sont fournis au constructeur de la classe. La classe fera partie d'une bibliothèque interne, et donc je veux mettre aussi peu de restrictions que possible sur les structures de données des clients - certains clients utiliseront des vecteurs de structs ou std :: paires, une autre matrice OpenCV séparée. Au cours du développement, j'ai pris itérateurs début/fin et appuyé sur le mécanisme de couple (val = it->first
, weight = it->second
).Comment prendre des arguments de type fonction paire
Comment cela pourrait-il être mieux fait, sans trop de tracas pour le programmeur à l'autre bout? En général, qu'est-ce qui est considéré comme la meilleure pratique lorsqu'on a ce genre d'intrant multidimensionnel?
Peut-être que je suis dense, mais je ne vois vraiment pas comment 'obtenir <0> (p)' et 'obtenir <1> (p)' sont une amélioration par rapport à 'p.first' et' p.second'. – sbi
Parce qu'ils peuvent être implémentés pour n'importe quelle classe sans changer cette classe? Parce qu'ils font abstraction de la différence entre paire et tuple? Parce que vous n'avez pas besoin de connaître les chiffres en anglais? – UncleBens
@UncleBens: Les deux dernières que je comprends (bien que je ne vois pas beaucoup d'avantage dans cela). Le premier je ne comprends pas. – sbi