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

ฟีเจอร์ใหม่ใน C++17

C++17 เป็นเวอร์ชันมาตรฐานล่าสุดของ C++ (ก่อนหน้านี้คือ C++11 และ C++14) เพิ่มฟีเจอร์หลายอย่างใน Core Language และลบบางฟีเจอร์เก่า ทำให้ C++17 เรียกว่า "Feature Complete"

Library Changes - Utils

รวมฟีเจอร์และแพทเทิร์นจากไลบรารีอื่นๆ เข้ามาในมาตรฐาน:

  • std::variant − Union ที่ปลอดภัยประเภท (Type-safe Union)
  • std::search − อัลกอริทึมค้นหาที่ปรับปรุงแล้ว
  • std::string_view − มุมมองสตริงแบบไม่ถือครองหน่วยความจำ
  • std::optional − ค่าที่อาจมีหรือไม่มี (Nullable Value)
  • std::any − ตัวเก็บค่าแบบใดก็ได้ (Type-safe Container)

Library Changes - Filesystem

เพิ่มการทำงานกับระบบไฟล์มาตรฐาน:

  • Path Object
  • Compiler/Library Support
  • Path Traversal

Library Changes - Parallel Algorithms

ปลดล็อก Auto-parallelization และ Auto-vectorization:

  • Algorithm Updates
  • Execution Policies
  • New Algorithms

Attributes (แอตทริบิวต์ใหม่)

  • [[maybe_unused]] − ปิดคำเตือนตัวแปรไม่ได้ใช้
  • [[fallthrough]] − ระบุว่า Fall-through ใน Switch เป็นเจตนา
  • [[nodiscard]] − บังคับให้ใช้ค่าที่ส่งคืน

Simplification (การลดความซับซ้อน)

  • Init Statement สำหรับ if/switch
  • Inline Variables
  • Structured Binding Declarations

Searchers ใหม่

  • boyer_moore_horspool_searcher
  • default_searcher
  • boyer_moore_searcher