7 คะแนน โดย xguru 2021-04-08 | 2 ความคิดเห็น | แชร์ทาง WhatsApp
  • Concepts

  • Modules

  • Coroutines

  • การเปรียบเทียบแบบสามทาง

  • Lambda expressions

  • Constant expressions

  • Aggregates

  • พารามิเตอร์เทมเพลตที่ไม่ใช่ชนิดข้อมูล

  • Structured bindings

  • ลูป for แบบอิงช่วงข้อมูล

  • Attributes : [[likely]] , [[unlikely]] , [[no_unique_address]] , [[nodiscard]]

  • การเข้ารหัสอักขระ : char8_t

  • Sugar

  • constinit

  • จำนวนเต็มแบบ signed ใช้ two’s complement

  • VA_OPT สำหรับ variadic macros

  • ฟังก์ชันที่กำหนดเป็นค่าเริ่มต้นอย่างชัดเจนพร้อมข้อกำหนด exception ที่แตกต่างกัน

  • Destroying operator delete

  • คอนสตรัคเตอร์แบบ explicit ตามเงื่อนไข

  • Feature-test macros

  • การแปลงอาร์เรย์จากขอบเขตที่ทราบไปเป็นขอบเขตที่ไม่ทราบ

  • Implicit move สำหรับ local objects และ rvalue references เพิ่มเติม

  • การแปลงจาก T* เป็น bool เป็นการทำให้ช่วงค่าแคบลง

  • เลิกแนะนำการใช้งาน volatile บางรูปแบบ

  • เลิกแนะนำ comma operator ใน subscripts

2 ความคิดเห็น

 
ffdd270 2021-04-08

C++11, 14, 17, 20... ออกมาอย่างสม่ำเสมอทุก 3 ปีจริง ๆ นะครับ โดยเฉพาะระบบโมดูลที่เพิ่มเข้ามาครั้งนี้ ก็หวังเป็นอย่างยิ่งว่ามันจะถูกใช้อย่างแพร่หลายและช่วยลดความเครียดเรื่องการลิงก์ลงได้มาก...

 
xguru 2021-04-08

สำหรับฟีเจอร์หลักอย่าง Concepts / Contracts / Ranges/ Module, Coroutines โปรดดู C++20 Key Features Summary [เอกสารประกอบการนำเสนอภาษาเกาหลี]