En un previous question, parecía que una función simple de retorno por valor copia siempre su argumento return
en la variable que se le asignó.Copia del constructor frente a la optimización del valor de retorno
¿Es esto requerido por la norma, o puede optimizarse la función construyendo la variable 'asignada a' incluso dentro del cuerpo de la función?
struct C { int i; double d; };
C f(int i, int d) {
return C(i,d); // construct _and_ copy-construct?
}
int main() {
C c = f(1, 2);
}
¿Podría proporcionar el número de sección de la norma, por favor? –
Lo mismo que publicó Neil: 12.15. ¿Lo interpretas de manera diferente? –