En un entorno práctico, usando gcc o MS Visual Studio, ¿es malo pasar los tipos de valor que son del mismo tamaño o menos que un int por referencia de referencia?En C++, ¿es malo pasar un const bool por referencia?
es decir, ¿es malo para escribir una función de este tipo:
void f(const bool& b);
o
void f(const char& c);
en lugar de:
void f(bool b);
o
void f(char c);
La razón por la que estoy preguntando es que no veo el beneficio de pasar una referencia en estos casos, pero tal vez me falta algo.
Como la mayoría de la gente ha dicho, en realidad no tiene sentido, ya que pasar estos por valor probablemente será más rápido. Sin embargo, recuerde que escribir código de limpieza viene antes de estas pequeñas optimizaciones, y en ocasiones puede tener varias funciones muy similares que toman argumentos por referencia constante, y luego quiere que las versiones 'bool' y' char' se vean consistentes. Un punto sin importancia, pero quizás vale la pena considerarlo, para que la gente no lo vea pensando "¿por qué esta es diferente?" – BoBTFish