搜索网站排名优化最大的免费网站建设
2026/4/18 7:14:56 网站建设 项目流程
搜索网站排名优化,最大的免费网站建设,网页设计与网站开发经济可行性,做现货值得关注的财经网站博主介绍#xff1a;程序喵大人 35 - 资深C/C/Rust/Android/iOS客户端开发10年大厂工作经验嵌入式/人工智能/自动驾驶/音视频/游戏开发入门级选手《C20高级编程》《C23高级编程》等多本书籍著译者更多原创精品文章#xff0c;首发gzh#xff0c;见文末#x1f447;#x…博主介绍程序喵大人35 - 资深C/C/Rust/Android/iOS客户端开发10年大厂工作经验嵌入式/人工智能/自动驾驶/音视频/游戏开发入门级选手《C20高级编程》《C23高级编程》等多本书籍著译者更多原创精品文章首发gzh见文末记得订阅专栏以防走丢C基础系列专栏C语言基础系列专栏C大佬养成攻略专栏C训练营个人网站C void_t 特性详解与典型用法示例最近发现了一个有意思的特性void_t。void_t是C17引入的一个新特性它的定义很简单有些编译器的实现可能不是这样但也大体类似templateclass...usingvoid_tvoid;看着它很简单但它搭配SFINAE却可以在模板元编程中发挥巨大作用。比如在编译期判断类是否有某个类型usingtemplateclass,classstd::void_tstructhas_type:std::false_type{};templateclassTstructhas_typeT,std::void_ttypenameT::type:std::true_type{};比如判断是否有某个成员templateclass,classstd::void_tstructhas_a_member:std::false_type{};templateclassTstructhas_a_memberT,std::void_tdecltype(std::declvalT().a):std::true_type{};比如判断某个类是否可迭代templatetypename,typenamevoidconstexprboolis_iterable{};templatetypenameTconstexprboolis_iterableT,std::void_tdecltype(std::declvalT().begin()),decltype(std::declvalT().end())true;比如判断某个类是否有某个函数templateclassT,classvoidstructhas_hello_func:std::false_type{};templateclassTstructhas_hello_funcT,std::void_tdecltype(std::declvalT().hello()):std::true_type{};测试结果structHasType{typedefinttype;};structNHasType{inthello;};structHasa{inta;};structNHasa{intb;};structHasHello{voidhello();};structNoHasHello{};intmain(){std::couthas_typeHasType::value\n;// 1std::couthas_typeNHasType::value\n;// 0std::couthas_a_memberHasa::value\n;// 1std::couthas_a_memberNHasa::value\n;// 0std::couthas_hello_funcHasHello::value\n;// 1std::couthas_hello_funcNoHasHello::value\n;// 0std::coutis_iterablestd::vectordouble\n;// 1std::coutis_iterabledouble\n;// 0}它的原理其实就是利用SFINAE和模板优先找特化去匹配的特性估计大家应该看示例代码就能明白。码字不易欢迎大家点赞关注评论谢谢

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询