Mục 13 từ "C++ hiện đại hiệu quả" của Scott Mayers cho biết các trình tối ưu hóa trên các trình lặp. Tôi đồng ý nhưng tôi cũng muốn sử dụng các chức năng không phải là thành viên thay vì các chức năng của thành viên. Theo sách phải có chức năng không phải là thành viên std::cbegin()
và std::cend()
trong C++ 14.Hỗ trợ `std :: cbegin()` trong C++ 14
Để sử dụng các chức năng này, tôi vừa cài đặt phiên bản gcc 4.9.2 và được biên dịch với cờ -std=c++14
. Dường như nó biên dịch cho đến khi tôi cố gắng sử dụng std::cbegin()
. Tôi bắt đầu tìm kiếm sự hỗ trợ cho chức năng này nhưng không thể tìm thấy bất cứ điều gì về nó. Ví dụ: tại gnu onlinedocs status chức năng thậm chí không được đề cập.
Câu hỏi của tôi là, sẽ std::cbegin()
và std::cend()
thực sự được hỗ trợ trong C++ 14 hoặc đây là một sai lầm trong cuốn sách? Nếu nó sẽ là một tính năng C++ 14, có trình biên dịch đã hỗ trợ các chức năng này và khi nào gcc sẽ hỗ trợ nó?
Có nhiều câu hỏi tại SO khoảng begin()
nhưng những câu hỏi này là về các hàm thành viên hoặc về constexpr-ness chứ không phải về sự hỗ trợ của biến thể không phải thành viên.
Đó là đề xuất của tôi. Chỉ có tôi không tự viết nó vì nó nên được viết thay cho tôi bởi một số thành viên của Ủy ban. :) –