Bonjour,

j'aimerais savoir s'il y a une différence de performance entre ces prototypages pour une seule et même tache :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
void fun(size_t);
void fun(size_t const);
void fun(size_t const&)
Je crois me souvenir avoir lu dans le livre d'Alexandrescu que la deuxième solution est plus efficace que la troisième mais je ne vois pas vraiment pourquoi.

J'ai une deuxième question connexe concernant les fonctions templates :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
template<typename T> void fun(T const&);
Dans le cas où T peut aussi bien être un type simple qu'un objet, quelle solution préconisez-vous pour forcer les types simples à ne pas être passés par référence mais par valeur?

Merci d'avance pour votre aide et vos conseils!