int vs const int&

J'ai remarqué que j'ai l'habitude d'utiliser références constantes au retour des valeurs ou des arguments. Je pense que la raison est qu'il fonctionne presque le même que l'utilisation non référence dans le code. Mais ça prend plus de place et les déclarations de fonction de plus longue durée. Je suis OK avec ce code mais je pense que certaines personnes de mon trouver un mauvais style de programmation.

Qu'en pensez-vous? Vaut-il écrit const int& sur int? Je pense que c'est optimisé par le compilateur de toute façon, alors peut-être je suis juste de perdre mon temps à coder ça, une?

  • comment pourrait-il en être optimisé par le compilateur? Si la fonction est incorporé au compilateur qu'il pourrait, mais pour le cas général où il n'est pas, il doit revenir exactement ce que vous avez dit (sauf quelques exceptions), car vous pourriez être appelé à partir d'une autre unité de traduction à l'aide des prototypes, de sorte qu'il doit être appelé avec int/int const& (sur le niveau de l'assemblée du passage d'un int pour quelque chose dans l'attente int& n'est-ce pas une bonne idée). Combinez cela avec le fait que const int& est probablement plus lent que int (à cause de la deref et la copie bon marché), et vous devriez maintenant quoi faire.
  • Pour que l'optimiseur une const T& est juste T&, en d'autres termes, juste un pointeur constant, éventuellement, un changement de T objet. Le const mot est visible que par les programmeurs.
  • Eh bien, et par le compilateur de la face avant, qui suit si le programmeur ne tient pas compte du const.
  • ++ pour écrire la dernière phrase avec l'accent Canadien.
InformationsquelleAutor Pijusn | 2011-01-16