C ++ 17 là phiên bản mới nhất của ngôn ngữ C ++ chuẩn. C ++ 11 và C ++ 14 là các phiên bản trước của C ++. Phiên bản hiện tại thực hiện một số bổ sung cho ngôn ngữ cốt lõi trong khi một số tính năng trước đó cũng bị loại bỏ. C ++ 17 được gọi là tính năng đầy đủ hoặc tính năng hoàn chỉnh.
Có một số thay đổi mới được giới thiệu trong C ++ 17 -
Thay đổi thư viện - utils
Đây là một trong những tính năng tuyệt vời nhất của C ++ 17. Nó hợp nhất các tính năng và mẫu của các thư viện khác. Nhiều thư viện con được hợp nhất với nhau thành các tiêu chuẩn.
Các tính năng sau được thêm vào thư viện utils trong C ++ 17 -
- std ::biến thể
- std ::tìm kiếm
- std ::string_view
- std ::tùy chọn
- std ::bất kỳ
Thay đổi thư viện - Hệ thống tệp
Các thư viện tiêu chuẩn trước đây thiếu một số tính năng chính. Ủy ban C ++ đã tăng cường các thư viện và hợp nhất nhiều hệ thống thành tiêu chuẩn.
Các tính năng sau được thêm vào Hệ thống tệp trong C ++ 17 -
- Làm việc với đối tượng đường dẫn
- Hỗ trợ trình biên dịch / Thư viện
- Đi ngang qua một con đường
Thay đổi Thư viện - Thuật toán Song song
Nó bổ sung một số tính năng mới cho các tính năng trước đó của C ++ 11 và C ++ 17. Nó đã mở khóa tính năng tự động song hóa hoặc tự động hóa vectơ cho thư viện tiêu chuẩn.
Các tính năng sau được thêm vào các thuật toán song song trong C ++ 17 -
- Cập nhật thuật toán
- Chính sách thực thi
- Các thuật toán mới
Các thuộc tính
C ++ 17 đã thêm ba thuộc tính mới, chẳng hạn như [[could_unused]], [[fallthrough]] và [[noteiscard]].
Đơn giản hóa
Có một số tính năng để đơn giản hóa mã trong các phiên bản trước của C ++. C ++ 17 đã thêm tính năng này trong các tính năng sau để đơn giản hóa mã -
- Câu lệnh Init cho if / switch
- Các biến nội tuyến
- Khai báo ràng buộc có cấu trúc
Người tìm kiếm
C ++ 17 đã cải thiện các trình tìm kiếm cũ trong các phiên bản trước của ngôn ngữ C ++. boyer_moore_horspool_searcher, default_searcher và boyer_moore_searcher là những công cụ tìm kiếm mới trong C ++ 17.