thể trùng lặp: C++: Life span of temporary arguments? 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
Mã sau hoạt động tốt, nhưng tại sao mã này chính xác? Tại sao con trỏ "c_str()" của tạm thời được trả về bởi foo() hợp lệ? Tôi nghĩ, rằng tạm thời này đã bị phá hủy khi bar() được nhập vào - nhưng nó