5
ทำไมเราต้องมีความต้องการ?
หนึ่งในมุมของ C ++ 20 requires requiresแนวคิดก็คือว่ามีบางสถานการณ์ที่คุณต้องเขียน ตัวอย่างเช่นตัวอย่างนี้จาก[expr.prim.req] / 3 : ต้องแสดงออกนอกจากนี้ยังสามารถนำมาใช้ในต้องมีข้อ ([ชั่วคราว]) เป็นวิธีการเขียนโฆษณา จำกัด เฉพาะกิจข้อโต้แย้งแม่แบบดังกล่าวเป็นหนึ่งด้านล่าง: template<typename T> requires requires (T x) { x + x; } T add(T a, T b) { return a + b; } เป็นครั้งแรกที่ต้องเปิดต้องใช้ข้อและแนะนำที่สองต้องแสดงออก เหตุผลทางเทคนิคที่อยู่เบื้องหลังrequiresคำหลักที่ต้องการนั้นคืออะไร ทำไมเราไม่อนุญาตให้เขียน: template<typename T> requires (T x) { x + x; } …
161
c++
c++-concepts
c++20