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

wordpress 制作手机站腾讯云 部署wordpress

wordpress 制作手机站,腾讯云 部署wordpress,网站建设用户需求分析,wordpress仿站视频一、动态生成列表 在上一篇中实现了一个Map映射#xff0c;其实就是一个表。但那个表有点维护和扩展上的不方便#xff0c;所以后为又开始用静态展开递归的方式来遍历枚举。其不管是怎么做#xff0c;都是要得到整个枚举体的信息#xff0c;然后才能进行处理。 这次使用一…一、动态生成列表 在上一篇中实现了一个Map映射其实就是一个表。但那个表有点维护和扩展上的不方便所以后为又开始用静态展开递归的方式来遍历枚举。其不管是怎么做都是要得到整个枚举体的信息然后才能进行处理。 这次使用一个动态生成表的方式来进行查询得到相关的枚举的具体的信息。 二、例程 先看一个例程然后分析一下 #include string #include array #include utility #include type_traits #include iostream#ifdef _WIN64 #define __FUNC__ __FUNCSIG__ #else #define __FUNC__ __PRETTY_FUNCTION__ #endif enum class DataType {USB,PCI,HD,NOT}; templateauto Tconstexpr auto TypeInfo() {std::string_view type __FUNC__;auto begin type.find(T ) 4;auto end type.find_last_of(]);return std::string_view{ type.data() begin, end - begin }; }constexpr auto n static_castint(DataType::NOT);templatetypename T constexpr auto enumMapName (T t) {//constexpr auto n TypeCountT();constexpr std::arraystd::string_view,n mapNames{[] std::size_t... Is(std::index_sequenceIs...){return std::arraystd::string_view,n{ TypeInfostatic_castT(Is)()... };}(std::make_index_sequencen{})};return mapNames[static_caststd::size_t(t)]; }int main() {DataType dt DataType::USB;std::cout enumMapName(dt) std::endl;for(auto i 0; i n; i){std::cout enumMapName(static_castDataType(i)) std::endl;}//调用方式//std::coutTypeInfoDataType::HD()std::endl;//std::coutTypeInfoDataType(6)()std::endl;//std::coutTypeInfoDataType(1)()std::endl; }如果是在c20上可以增加一个“概念”控制类似SFINAE“requires std::is_enum_v”做一下安全性的验证其实在这里只是限定在枚举里进行反射的讨论它可以不考虑。 上面的代码中求枚举的数量有点暴力简单其实也可以用其它一些方法来实现比如下面的两种方式都可以 //first #include iostream #define DefineEnum(Name, Type, ...) \ enum class Name { \__VA_ARGS__ \,countstd::size({__VA_ARGS__}) }; #define Enum(Name, ...) DefineEnum(Name, int, __VA_ARGS__)Enum(DataType,USB,PCI,HD);//second-需要借助前面的函数 templatetypename T, std::size_t N 0 constexpr auto TypeCount() {constexpr auto v static_castT(N);if constexpr (TypeInfov().find(() std::string_view::npos){return TypeCountT, N 1();}else{return N;} } 第一种方法需要用宏来定义产生枚举第二种使用了类似于前面静态反射中的判断特定字符这里使用小括号也可以否定的使用“::”,TypeInfo返回值类似下面 auto TypeInfo() [with auto T DataType::HD] DataType::HD auto TypeInfo() [with auto T (DataType)6] (DataType)6 auto TypeInfo() [with auto T DataType::PCI]如果给一个不在范围内的枚举变量则会产生上面的效果(如前面代码注释部分)。方法有很多看哪种更适合实际的应用即可。 三、总结 在上文说过本来这篇是和上一篇打算合在一起可是又觉得它们有点不同的意思就拆分了开来。其实说来归去重点是理解如何进行反射前的准备把相关的字段名称都准备出来只是同一个基础的应用却可以在上层写出不同的反射方法来这也是c总被称为难的原因。 因为其灵活不容易掌握而每个方法又有长处和不同的适应场景这都需要开发者自己权衡这就是难的原因。见仁见智各取所需吧。
http://www.sadfv.cn/news/266625/

相关文章:

  • html模板网站推荐工厂管理培训课程
  • 网站系统怎么做营销网站制作都选ls15227
  • 非官方网站建设给被k的网站做友链
  • 怎么能将网站做的不简单牡丹区住房和城乡建设局网站
  • 如何选择深圳网站建设3d地图网站模板html
  • 国家建设工程造价数据监测平台在哪个网站网络营销论文总结
  • 公司核名在哪个官方网站如何优化网站信息架构
  • 有口碑的盐城网站建设网页设计论文题目大全
  • 网站没被收录做网站运营经理的要求
  • 如何给网站2做推广万维网
  • 优化网站关键词排名软件展示产品的网站
  • 百度怎样收录网站应用商店wordpress
  • 做网站建设深圳中装建设
  • 吉林省城乡建设官方网站WordPress做头部的插件
  • 如何制作企业网站长沙装修公司性价比最高的是哪个
  • 外贸网站赚钱提升网站建设品质
  • 怎么制作网站详细流程wordpress 建表
  • 大兴网站建设新加坡网站后缀
  • 哪些网站可以看一级a做爰片wordpress能做出
  • 做百度网站找谁wordpress的搭建教程
  • 祥云平台网站建设怎么收费网站制作费用需要多少钱
  • 做美容美容院网站的费用忘记wordpress的账号和密码
  • 青龙县建设局网站网络推广服务
  • 网站域名的用处公司企业logo设计免费
  • 怎么弄免费的空间做网站做化妆品网站怎样
  • 邯郸网站设计在哪里深圳创业补贴政策2022
  • 创意个人网站设计网页视觉设计是什么
  • 秦皇岛网站制作专家软件外包公司
  • 深圳网站建设 设计网站文件结构
  • 网站建设算无形资产访问国外的网站很慢