3
C ++ decltype และวงเล็บ - ทำไม
มีการพูดถึง เรื่องนี้มาก่อนแต่นี่ไม่ได้ซ้ำกัน เมื่อมีคนถามถึงความแตกต่างระหว่างdecltype(a)และdecltype((a))คำตอบปกติคือ - aเป็นตัวแปร(a)คือการแสดงออก ฉันพบคำตอบนี้ไม่พอใจ อย่างแรกaคือการแสดงออกเช่นกัน ตัวเลือกสำหรับการแสดงออกหลักได้แก่ หมู่คนอื่น ๆ - (นิพจน์) ID-แสดงออก ที่สำคัญกว่านั้นการใช้ถ้อยคำสำหรับเดคไทป์จะพิจารณาวงเล็บอย่างชัดเจนมาก : For an expression e, the type denoted by decltype(e) is defined as follows: (1.1) if e is an unparenthesized id-expression naming a structured binding, ... (1.2) otherwise, if e is an unparenthesized id-expression naming a …