Duplicar posibles:
Global const string& smells bad to me, is it truly safe?¿Puede alguien explicar este uso C++ referencia
he encontré con el siguiente código y se preguntó de sus méritos
std::string const & thestring("XYZ");
Es la hecho de que está construyendo el objeto y refiriéndose a él por referencia. Estoy acostumbrado a ver
std::string const theString("XYZ");
y me preguntaba cuál era la diferencia. Estoy razonablemente contento de que el objeto no se destruya pronto ya que el objeto vive en la pila junto con la referencia.
Nunca he visto el caso 1, parece que no tiene sentido. Construya un temporal y vincule una referencia constante (de este modo extiende el tiempo de vida al alcance de las referencias). El segundo caso es 1 grado menos de indirección, y para todos los efectos, actuaría como caso uno. Pero quizás me esté perdiendo algo que no es obvio. – Ylisar
Esto se ve como: http://stackoverflow.com/a/1028511/390913 – perreal
La única diferencia que se me ocurre es que el que no es de referencia se declaró como const, y por lo tanto se descarta la constness es UB – PlasmaHH