当前位置: 首页 > news >正文

华为荣耀手机商城官方网站深圳市网站设

华为荣耀手机商城官方网站,深圳市网站设,王健林亏60亿做不成一个网站,智能建站模版结构体是否包含特定类型的成员变量 在C中#xff0c;可以使用模板元编程和类型特性#xff08;type traits#xff09;来判断一个结构体是否包含特定类型的成员变量。这通常通过std::is_member_object_pointer类型特性来实现#xff0c;它可以用来检查给定的成员指针是否指…结构体是否包含特定类型的成员变量 在C中可以使用模板元编程和类型特性type traits来判断一个结构体是否包含特定类型的成员变量。这通常通过std::is_member_object_pointer类型特性来实现它可以用来检查给定的成员指针是否指向结构体中的成员。 #include iostream #include type_traitsstruct S1 {int id 0; };struct S2 {int id 0;std::string code; };// 检查T类型是否包含名为code的std::string类型成员变量 template typename T, typename void struct has_code : std::false_type {};template typename T struct has_codeT, std::void_tdecltype(T::code) : std::is_samedecltype(T::code), std::string {};// 辅助变量模板 #if _HAS_CXX17 template typename T inline constexpr bool has_code_v has_codeT::value; #else template typename T constexpr bool has_code_v has_codeT::value; #endifint main() {std::cout std::boolalpha;std::cout S1 has code: has_code_vS1 std::endl; // 输出: falsestd::cout S2 has code: has_code_vS2 std::endl; // 输出: truereturn 0; }在这个示例中 has_code是一个模板结构体它使用SFINAESubstitution Failure Is Not An Error技术来检查类型T是否包含名为code的成员变量。std::void_tdecltype(T::code)用于在T类型中存在名为code的成员时产生一个void类型否则产生一个替换失败。std::is_samedecltype(T::code), std::string用于检查code成员是否为std::string类型。has_code_v是一个变量模板它提供了一个方便的方式来直接访问has_codeT::value的值。has_code 模板结构体的定义 主模板 templatetypename T, typename void struct has_code : std::false_type {};这是一个通用的模板定义当没有针对特定类型 T 的特化版本被匹配时它将被使用。这里默认继承自 std::false_type表示假设类型 T 不包含名为 code 的 std::string 类型成员变量。特化模板 templatetypename T struct has_codeT, std::void_tdecltype(T::code) : std::is_samedecltype(T::code), std::string {};这个特化版本仅在 T 中存在名为 code 的成员变量时才会被匹配。std::void_tdecltype(T::code) 是一个巧妙的技巧它使用 decltype(T::code) 来获取 T 中 code 成员的类型如果 T 中不存在 code 成员decltype(T::code) 会导致替换失败这是 C 模板替换失败不是错误原则的应用从而这个特化版本不会被匹配而是使用主模板。如果 T 中存在 code 成员std::void_tdecltype(T::code) 会被替换为 void特化版本就会被匹配然后通过 std::is_samedecltype(T::code), std::string 来进一步检查 code 成员的类型是否为 std::string。 这种方法可以扩展到检查任何类型的成员变量只需将std::string替换为你需要检查的类型即可。
http://www.pierceye.com/news/299646/

相关文章:

  • 北京三屏网站制作wordpress 分词插件
  • 潍坊哪里可以做网站建设网站一定需要云服务器么
  • 高新网站建设多少钱重庆模板网站建设费用
  • 陕西的网站建设公司哪家好网站建设与维护典型案例
  • 遵义网站开发的公司有哪些网站建设vps
  • 百度网站与推广徐州网站建设网络推广
  • 8818网站建设网站建设平台一般多少钱
  • 万网怎样做网站调试百度在线扫一扫
  • 建设网站平台哪个好如何提高商城网站权重
  • 深圳手机网站设计抖音开放平台
  • 平山做网站优化网页版梦幻西游五色石攻略
  • 字体图标制作网站长沙网站排名公司哪家好
  • 百度和阿里哪个厉害做网站千万不要学数字媒体技术
  • 可信赖的商城网站建设长春疾控最新消息
  • 做阿里网站开发公司名字
  • 企业网站建设内容杭州有几个区
  • 松江建设管理中心网站网站sem托管
  • 做网站前期框架图射击官网
  • 吉首网站建设吉首网站建设网站app制作费用单
  • 网站最好的优化是什么经过学习网站开发后的心得体会
  • 如何把资料上传到网站公司网站建设视频教程
  • 济南建设网站平台泰安高端网站设计建设
  • 武安网站建设价格开发区网站建设
  • 安徽省住房城乡建设厅官方网站2022年最新热点素材
  • 济宁网站建设方面舟山网站设计公司
  • 局域网网站建设多少钱wordpress企业站主题
  • asp做网站用什么写脚本营销网站开发系统
  • 企业网站建设心得中国八大设计院排名
  • 网站建设与管理总结心得找工作在什么网站找比较好
  • wordpress 赢利模式佛山百度seo排名