Duplicar posible:
Does a const reference prolong the life of a temporary?¿Qué sucede cuando asigno una int temporal a una referencia constante en C++?
Digamos que tengo una función f
:
int f(int x){return x;}
const int &a=f(1);
sé que f(1)
es sólo un temporal y que habrá destruido después de esta declaración, pero
- ¿hacer la referencia const le dará a f (1) una larga vida útil?
- si es así, ¿dónde
f(1)
se va a almacenar? - y significa que
x
tampoco se destruyó cuando se quedó sin alcance? - ¿cuál es la diferencia entre
f(1)
yx
?
Necesita un buen libro de C++. Consulte http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list –
@Ben Pocos (incluso buenos) libros cubren esto. –
@Konrad: Tal vez se estaba refiriendo a la última pregunta ... –