2017-05-19 19 views

Trả lời

5

Như đã nêu trong tham chiếu, điều này có thể là if void were a regular type.

void get_value() { 
    void x; 
    return x; 
} 

Đây là cách nó hoạt động ở một số ngôn ngữ khác, vì vậy nó không phải không có tiền lệ. Trong các ngôn ngữ khác, nó được gọi là loại "đơn vị", bởi vì nó có chính xác một giá trị có thể. (Các ngôn ngữ khác cũng có loại "null", không có giá trị nào có thể, vì vậy nếu bạn cố gắng tạo ra một lỗi, nó có tên là "null" nhưng nó không liên quan đến con trỏ null.)

+4

Để trả lời trực tiếp câu hỏi "mọi người mong đợi làm gì" - họ không có gì khác biệt_. 'tương lai ' không biến mất, nó chỉ không cần chuyên môn hóa. –

+0

@DrewDormann: Từ những gì tôi hiểu bạn sẽ phải thực hiện một số thay đổi, vì việc xóa 'std :: promise ' chuyên môn sẽ có nghĩa là hàm 'set_value()' không còn tồn tại nữa, và bạn sẽ phải gọi 'set_value ({}) 'thay thế. –

-3

Mục đích của std :: tương lai là để biết khi một quá trình không có giá trị thực tế để trả lại đã kết thúc. Vì vậy, về cơ bản nó là một công cụ đồng bộ hóa.

+0

Điều này không trả lời được câu hỏi. –

Các vấn đề liên quan