2015-12-05 28 views
5

Trong các trường hợp sau C++ Going native video,
có đề cập đến một tính năng ngôn ngữ được gọi là "ràng buộc cấu trúc".Đề xuất về "ràng buộc cấu trúc" ở đâu?

Tôi đã từng một lần referred cho khái niệm này là "phá hoại" (bắt đầu từ nền javascript).

Tính năng này sẽ cho phép người dùng chụp nhiều giá trị trả lại mà không cần sử dụng std::tie hoặc chỉ định loại.

Ví dụ:

std::map<std::string,int> table; 
auto { cursor, inserted } = table.insert({"hello",0}); 

Tôi có thể tìm thấy ở đâu đề nghị này, và theo dõi sự tiến bộ của nó?

+0

[P0144R0] (http://wg21.link/P0144R0). Ngoài ra một đề xuất cạnh tranh - [P0151R0] (http://wg21.link/P0151R0). Và tôi khá chắc chắn đây là off-topic ... –

+0

Tôi đã tìm kiếm "cấu trúc". cảm ơn. @ T.C. Sau đó, tôi chắc chắn rằng SO sẽ được nhanh chóng để đóng nó. –

+0

Tôi tin rằng điều này là nhẹ về chủ đề, tôi tin rằng một rewording để tập trung hơn vào tình trạng của đề xuất này như trái ngược với nơi nó được cải thiện câu hỏi. –

Trả lời

12

Đề xuất bạn đang đề cập là P0144R0: Structured Bindings. post-Kona mailing liệt kê bài báo này dưới Nhóm làm việc tiến hóa. Nó không được bao gồm trong Evolution Working Group(EWG) active issue list hiện tại và Nicol Bolos chỉ ra danh sách vấn đề hoạt động EWG chưa được cập nhật cho Kona. Khi nó xuất hiện trong danh sách hoạt động EWG, bạn có thể theo dõi đề xuất bằng cách theo dõi vấn đề.

Có một số báo cáo chuyến đi thực sự tốt và đặc biệt Botond Ballo's trip report bao gồm đề xuất này trong phần đề xuất mà công việc tiếp theo được khuyến khích và nó nói:

Một đề xuất cho de-cơ cấu khởi, mà có thể cho phép viết tự động {x, y, z} = expr; trong đó loại expr là một đối tượng giống như tuple, mà các phần tử của nó sẽ bị ràng buộc với các biến x, y và z (mà điều này là xây dựng các khai báo). "Đối tượng giống như tuple" bao gồm std :: tuple, std :: pair, std :: array và cấu trúc tổng hợp. Đề xuất thiếu cơ chế để điều chỉnh loại không được tổng hợp do người dùng xác định là "giống như tuple" và làm việc với cú pháp này; Phản hồi của EWG là cơ chế quan trọng như vậy. Hơn nữa, EWG đề xuất rằng đề xuất là được mở rộng để cho phép (tùy chọn) chỉ định các loại cho x, y và z, thay vì loại suy luận của chúng.

Chúng tôi có thể tìm thấy thư cuộc họp WG21 bằng cách truy cập WG21 site và chuyển đến papers section.

Như T.C. lưu ý đó cũng là một đề nghị cạnh tranh P0151R0: Proposal of Multi-Declarators mà nói:

Chúng tôi đề xuất một cách tiếp cận tốt hơn cho “Bindings cấu trúc” theo quy định tại P0144R0 nơi “tốt hơn” được định nghĩa là terser, ortogonal hơn, chung, biểu cảm hơn , ít hơn (phân tích cú pháp) không rõ ràng.

+0

Tôi đã sửa lỗi đánh máy trực giao, nhưng sau đó thấy đề xuất ban đầu có cùng lỗi đánh máy đó. Bây giờ tôi bị rách: P – SirGuy

+0

"nhiều ortogonal [sic], tổng quát hơn," sic erat scriptum – Vagrant

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