Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

คุณสมบัติใหม่ของ C++17


C++17 คือเวอร์ชันล่าสุดของภาษา C++ มาตรฐาน C++11 และ C++14 เป็นเวอร์ชันก่อนหน้าของ C++ เวอร์ชันปัจจุบันมีการเพิ่มภาษาหลักหลายอย่างในขณะที่คุณลักษณะก่อนหน้านี้บางส่วนถูกเอาออกด้วย C++17 เรียกว่าฟีเจอร์เต็มหรือฟีเจอร์สมบูรณ์

มีการเปลี่ยนแปลงใหม่บางอย่างใน C++17 -

การเปลี่ยนแปลงไลบรารี - การใช้ประโยชน์

นี่เป็นหนึ่งในคุณสมบัติที่น่าทึ่งที่สุดของ C++17 มันรวมคุณสมบัติและรูปแบบของไลบรารีอื่น ๆ ไลบรารีย่อยจำนวนมากถูกรวมเข้าด้วยกันเป็นมาตรฐาน

คุณลักษณะต่อไปนี้ถูกเพิ่มลงในไลบรารี utils ใน C++17 -

  • std::ตัวแปร
  • std::search
  • std::string_view
  • std::ตัวเลือก
  • std::any

การเปลี่ยนแปลงไลบรารี - ระบบไฟล์

ไลบรารีมาตรฐานก่อนหน้านี้ขาดคุณสมบัติหลักบางประการ คณะกรรมการ C++ ได้ส่งเสริมห้องสมุดและรวมระบบจำนวนมากเข้าเป็นมาตรฐาน

คุณสมบัติต่อไปนี้ถูกเพิ่มไปยังระบบไฟล์ใน C++17 -

  • การทำงานกับวัตถุเส้นทาง
  • รองรับคอมไพเลอร์/ไลบรารี
  • การข้ามเส้นทาง

การเปลี่ยนแปลงไลบรารี - อัลกอริธึมคู่ขนาน

มันผนวกคุณสมบัติใหม่บางอย่างเข้ากับคุณสมบัติก่อนหน้าของ C++11 และ C++ 17 โดยจะปลดล็อคคุณสมบัติการทำให้ขนานอัตโนมัติหรือคุณสมบัติเวกเตอร์อัตโนมัติสำหรับไลบรารีมาตรฐาน

คุณลักษณะต่อไปนี้ถูกเพิ่มลงในอัลกอริธึมแบบขนานใน C++17 -

  • อัปเดตอัลกอริทึม
  • นโยบายการดำเนินการ
  • อัลกอริธึมใหม่

คุณสมบัติ

C++17 ได้เพิ่มแอตทริบิวต์ใหม่สามอย่าง เช่น [[maybe_unused]], [[fallthrough]] และ [[nodiscard]]

การทำให้เข้าใจง่าย

มีคุณสมบัติหลายอย่างในการทำให้โค้ดง่ายขึ้นใน C++ เวอร์ชันก่อนหน้า C++17 ได้เพิ่มคุณสมบัตินี้ในคุณสมบัติต่อไปนี้เพื่อทำให้โค้ดง่ายขึ้น -

  • คำสั่งเริ่มต้นสำหรับ if/ switch
  • ตัวแปรอินไลน์
  • การประกาศผูกมัดที่มีโครงสร้าง

ผู้ค้นหา

C++17 ปรับปรุงผู้ค้นหาเก่าในภาษา C++ เวอร์ชันก่อนหน้า boyer_moore_horspool_searcher, default_searcher และ boyer_moore_searcher เป็นผู้ค้นหาใหม่ใน C++17