Natknąłem sytuacji, gdy jest w stanie łańcucha wywołanie metody zmiennej czasowej byłoby bardzo pomocne:Czy referencja zwrócona ze zmiennej tymczasowej jest ważna?
draw(Quad(0, 0, 1, 1).rotate(90)); // <-- .rotate() returns a Quad reference
struct Quad{
Quad(float x, float y, float width, float height){...}
Quad & rotate(float degrees){
...
return *this;
}
}
Jednak jestem pewien, czy zmienna tymczasowa pozostanie przy życiu wystarczająco długo dla draw()
funkcja do korzystania z niego. Czy to jest bezpieczne?
Duplikat http://stackoverflow.com/questions/584824/guaranteed-lifetime-of-temporary-in-c- –