La pregunta original está relacionada con la sobrecarga del operador = y me gusta compartir mis hallazgos, ya que no fue trivial para mí encontrarlos. No me puedo imaginar un ejemplo razonable para usar (a = b) como lvalue. Con la ayuda de IRC y google he encontrado el siguiente artículo: http://msdn.microsoft.com/en-us/magazine/cc301415.aspxPor qué el operador = devuelve la referencia no const referencia
proporciona dos ejemplos.
(a=b)=c
f(T&);
f(a=b)
pero ambos no son buenos, y creo que es una mala práctica. El segundo me da la misma sensación. ¿Podría proporcionar más buenos ejemplos de por qué no debería ser constante?
Buena captura, compañero :) –
¡Gracias! Buen tiro. Voy a votar esto. (Pero probablemente esto esté relacionado con las malas prácticas en STL. ¿Puedes dar un ejemplo puro de C++?) – outmind
¿Pero por qué el contenedor necesita un 'X &' como retorno? – kennytm