3
แบ่ง std :: variant type ที่กำหนดตามเกณฑ์ที่กำหนด
วิธีการตามประเภทของตัวแปรที่กำหนด using V = std::variant<bool, char, std::string, int, float, double, std::vector<int>>; ประกาศสองประเภทที่แตกต่าง using V1 = std::variant<bool, char, int, float, double>; using V2 = std::variant<std::string, std::vector<int>>; ซึ่งV1รวมถึงประเภทคณิตศาสตร์ทั้งหมดจากVและV2รวมประเภทที่ไม่ใช่คณิตศาสตร์ทั้งหมดมาจากVไหน V สามารถเป็นพารามิเตอร์ของคลาสแม่แบบตัวอย่างเช่น: template <class V> struct TheAnswer { using V1 = ?; using V2 = ?; }; โดยทั่วไปเกณฑ์สามารถเป็นconstexprตัวแปรเช่นนี้: template <class T> constexpr bool filter;
20
c++
c++17
std-variant