คำถามติดแท็ก user-defined-literals

12
ความสามารถใหม่อะไรที่ตัวอักษรที่ผู้ใช้กำหนดเองเพิ่มไว้ใน C ++
C ++ 11เปิดตัวอักษรที่ผู้ใช้กำหนดซึ่งจะช่วยให้การแนะนำของไวยากรณ์ตัวอักษรใหม่บนพื้นฐานของตัวอักษรที่มีอยู่ ( int, hex, string, float) เพื่อให้ใช้วิธีใดจะสามารถที่จะมีการนำเสนอที่แท้จริง ตัวอย่าง: // imaginary numbers std::complex<long double> operator "" _i(long double d) // cooked form { return std::complex<long double>(0, d); } auto val = 3.14_i; // val = complex<long double>(0, 3.14) // binary values int operator "" _B(const char*); // raw form …

15
การประกาศสตริงเวลาคอมไพล์ใน C ++ อย่างสะดวกสบาย
ความสามารถในการสร้างและจัดการสตริงระหว่างเวลาคอมไพล์ใน C ++ มีแอพพลิเคชั่นที่มีประโยชน์มากมาย แม้ว่าจะสามารถสร้างสตริงเวลาคอมไพล์ใน C ++ ได้ แต่กระบวนการนี้ยุ่งยากมากเนื่องจากต้องประกาศสตริงเป็นลำดับตัวแปรของอักขระเช่น using str = sequence<'H', 'e', 'l', 'l', 'o', ',', ' ', 'w', 'o', 'r', 'l', 'd', '!'>; การดำเนินการเช่นการต่อสายอักขระการแยกสตริงย่อยและอื่น ๆ อีกมากมายสามารถนำไปใช้งานได้อย่างง่ายดายเป็นการดำเนินการกับลำดับของอักขระ เป็นไปได้ไหมที่จะประกาศสตริงเวลาคอมไพล์สะดวกกว่า ถ้าไม่มีมีข้อเสนอในผลงานที่อนุญาตให้มีการประกาศสตริงเวลาคอมไพล์ได้อย่างสะดวกหรือไม่? เหตุใดแนวทางที่มีอยู่จึงล้มเหลว ตามหลักการแล้วเราต้องการที่จะสามารถประกาศสตริงเวลาคอมไพล์ได้ดังนี้: // Approach 1 using str1 = sequence<"Hello, world!">; หรือใช้ตัวอักษรที่ผู้ใช้กำหนดเอง // Approach 2 constexpr auto str2 = "Hello, …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.