tengo este código (versión simplificada):¿Una referencia vinculada a un parámetro de función prolonga la vida útil de ese temporal?
const int& function(const int& param)
{
return param;
}
const int& reference = function(10);
//use reference
Estoy totalmente no puede decidir en qué medida estándar de C++ 03 $ 12.2/5 redacción
El temporal para el que la referencia está obligado o el temporal que es el objeto completo de un subobjeto del cual el límite temporal persiste durante el tiempo de vida de la referencia ...
es aplicable aquí.
¿Hay reference
variable en el código anterior válido o pendiente? ¿La referencia en el código de llamada prolongará el tiempo de vida del temporal pasado como el parámetro?
¿No se destruye 'param' al final de la tarea? "Los objetos temporales se destruyen como el último paso en la evaluación de la expresión completa (1.9) que (léxicamente) contiene el punto donde se crearon". –