La généricité a l'avantage d'être réutilisable. Cependant, écrire des choses génériques, seulement si:
- Il ne prend pas beaucoup plus de temps pour le faire, que de le faire non générique
- Il ne complique pas le code plus d'une solution non-générique
- vous savez bénéficier plus tard
Cependant, connaître votre bibliothèque standard. Le cas que vous avez présenté est déjà en STL en tant que std::swap
. De plus, n'oubliez pas que lors de l'écriture générique à l'aide de modèles, vous pouvez optimiser des cas spéciaux en utilisant la spécialisation de modèle. Cependant, toujours à quand il est nécessaire pour la performance, pas comme vous l'écrivez.
Notez également que vous avez ici la question des performances d'exécution et de compilation. Les solutions basées sur des modèles augmentent le temps de compilation. Les solutions en ligne peuvent mais ne doivent pas diminuer l'exécution.
`Cause " L'optimisation prématurée et la généricité sont la racine de tout mal ". Et vous pouvez me citer sur ce -_-.
Wll, il y a un inconvénient ici - std :: swap() existe déjà. –
Quelles autres fonctions? –