Computer >> Máy Tính >  >> Lập trình >> C ++

Các tính năng mới của C ++ 17

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.