class Test {
public:
int n1;
};
Test func() {
return Test();
}
int main() {
func() = Test();
}
Điều này không có ý nghĩa với tôi. Làm thế nào và tại sao điều này được cho phép? Đó là hành vi không xác định? Nếu một hàm trả về một giá trị, thì làm thế nào để có thể thiết lập một giá trị rvalue sang một giá trị khác? Nếu tôi thử điều này với bất kỳ kiểu nguyên thủy nào, nó sẽ cho tôi một lỗi như tôi mong đợi.Chỉ định Rvalue được trả về từ hàm này sang hàm Rvalue khác
Tôi biết rằng giá trị là một vị trí trong bộ nhớ, do đó, chức năng tạo ra một giá trị tạm thời (rvalue?) Và gán nó cho một giá trị khác? Ai đó có thể giải thích cách cú pháp này hoạt động?
"_Nếu một hàm trả về một rvalue_" Nó không. – curiousguy