thể trùng lặp:
C++: Life span of temporary arguments?ranh giới đầy đủ biểu hiện và tuổi thọ của temporaries
Người ta nói rằng các biến tạm thời bị phá hủy như là bước cuối cùng trong việc đánh giá đầy đủ thể hiện, ví dụ
bar(foo().c_str());
con trỏ tạm thời sống cho đến khi trở lại quầy bar, nhưng những gì cho
baz(bar(foo().c_str()));
là nó vẫn còn sống cho đến khi trở lại quầy bar, hoặc baz trở lại có nghĩa là diệt hết thể hiện ở đây, trình biên dịch tôi đã kiểm tra đối tượng hủy sau baz trả về, nhưng tôi có thể dựa vào đó không?
có, câu trả lời cho câu hỏi này phải là một phần của http://stackoverflow.com/questions/4214153/lifetime-of-temporaries, tôi đã hỏi một câu hỏi mới vì tôi không có quyền đăng nhận xét ở đó và tôi đã quan tâm đến một chi tiết cụ thể không được đề cập ở đó. – Vasaka