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

贵州整站优化seo平台站长工具是什么

贵州整站优化seo平台,站长工具是什么,免费表白网站制作,wordpress扫描背景: 例如android jni 方法的签名, 这个需要每个用户都要知道具体类型,转化成签名, 要想写好签名, 必须很熟悉 类型对应的签名, 尤其java类对象要加个L, 本文将介绍怎么在编译期过程把类型转化成字符, 多个类型在尽性拼接. 定义基础数据结构 template<char ... ch> str…

背景:

  例如android jni 方法的签名, 这个需要每个用户都要知道具体类型,转化成签名, 要想写好签名, 必须很熟悉 类型对应的签名, 尤其java类对象要加个L, 本文将介绍怎么在编译期过程把类型转化成字符, 多个类型在尽性拼接.

定义基础数据结构

template<char ... ch>
struct charArray
{static const char *to_array(){static const char arr[sizeof ...(ch) + 1] = {ch...};return arr;}
};

这个里边详细介绍可变参数模版.

定义类型转化成charArray

emplate<typename T>
struct TypeToChar{};template<>
struct TypeToChar<int>{using TYPE = charArray<'I'>;static const char *to_array(){return TYPE::to_array();}
};template<>
struct TypeToChar<long>{using TYPE = charArray<'J'>;static const char *to_array(){return TYPE::to_array();}
};
template<>
struct TypeToChar<char>{using TYPE = charArray<'C'>;static const char *to_array(){return TYPE::to_array();}
};
template<>
struct TypeToChar<std::string>{using TYPE = charArray<'L','j', 'a','v','a','/','l', 'a', 'n', 'g', '/','S','t','r','i','n','g',';'>;static const char *to_array(){return TYPE::to_array();}
};

这里定义了类型, 以及对应的类型转化的签名, 接下来看下多个类型进行拼接带啊吗

拼接

template<typename ...T>
struct concat2{};template<char ...ch1, char ...ch2>
struct concat2<charArray<ch1...>, charArray<ch2...>>
{using TYPE=charArray<ch1..., ch2...>;static const char* to_array(){return charArray<ch1..., ch2...>::to_array();}
};template<typename ...T>
struct concat{};template<typename T, typename U>
struct concat<T,U>{using TYPE=typename concat2<T,U>::TYPE;static const char *to_array(){return TYPE::to_array();}
};

把两个类型参数包, 拼接成1个

多类型拼接

template<typename ...Args>
struct TypesToCharArray {};template<typename T>
struct TypesToCharArray<T> {using TYPE= typename TypeToChar<T>::TYPE;static const char *to_array(){return TYPE::to_array();}
};template<typename T, typename U>
struct TypesToCharArray<T, U>{using TYPE = typename concat<typename TypeToChar<T>::TYPE,typename TypeToChar<U>::TYPE>::TYPE;static const char *to_array(){return TYPE::to_array();}
};template<typename T, typename U, typename ...Args>
struct TypesToCharArray<T, U, Args...>{using TYPE= typename concat<typename TypesToCharArray<T,U>::TYPE, typename TypesToCharArray<Args...>::TYPE>::TYPE;static const char *to_array(){return TYPE::to_array();}
};

测试demo

int main()
{std::cout<<charArray<'a','b','c'>::to_array()<<std::endl;std::cout<<charArray<'e','f','g'>::to_array()<<std::endl;std::cout<<concat2<charArray<'a','b','c'>, charArray<'e', 'f', 'g'>>::to_array()<<std::endl;std::cout<<TypeToChar<int>::to_array()<<std::endl;std::cout<<TypesToCharArray<int>::to_array()<<std::endl;std::cout<<TypesToCharArray<int, std::string>::to_array()<<std::endl;std::cout<<TypesToCharArray<int, std::string,long,int>::to_array()<<std::endl;return 0;
}

输出结果

abc
efg
abcefg
I
I
ILjava/lang/String;
ILjava/lang/String;JI


文章转载自:
http://polychaetous.zfyr.cn
http://abolitionize.zfyr.cn
http://lagan.zfyr.cn
http://centesimal.zfyr.cn
http://tunnage.zfyr.cn
http://heme.zfyr.cn
http://bacteriorhodopsin.zfyr.cn
http://pyramidalist.zfyr.cn
http://damsel.zfyr.cn
http://fixature.zfyr.cn
http://lull.zfyr.cn
http://cavil.zfyr.cn
http://subvitreous.zfyr.cn
http://ikaria.zfyr.cn
http://hyperparasitism.zfyr.cn
http://playfield.zfyr.cn
http://could.zfyr.cn
http://desperately.zfyr.cn
http://presoak.zfyr.cn
http://aegrotat.zfyr.cn
http://voluptuary.zfyr.cn
http://contrariwise.zfyr.cn
http://colosseum.zfyr.cn
http://openable.zfyr.cn
http://noticeably.zfyr.cn
http://metairie.zfyr.cn
http://mamaguy.zfyr.cn
http://aquiver.zfyr.cn
http://condonable.zfyr.cn
http://milliammeter.zfyr.cn
http://recolonize.zfyr.cn
http://seise.zfyr.cn
http://quins.zfyr.cn
http://port.zfyr.cn
http://capersome.zfyr.cn
http://pensione.zfyr.cn
http://shareware.zfyr.cn
http://hypoglycemia.zfyr.cn
http://humbug.zfyr.cn
http://blueweed.zfyr.cn
http://jeopardize.zfyr.cn
http://strident.zfyr.cn
http://meclozine.zfyr.cn
http://cyrenaicism.zfyr.cn
http://runout.zfyr.cn
http://gelate.zfyr.cn
http://reascension.zfyr.cn
http://ponton.zfyr.cn
http://jugoslav.zfyr.cn
http://digressively.zfyr.cn
http://unbranded.zfyr.cn
http://clearly.zfyr.cn
http://sociocracy.zfyr.cn
http://makar.zfyr.cn
http://handpick.zfyr.cn
http://perfunctorily.zfyr.cn
http://orrisroot.zfyr.cn
http://underhung.zfyr.cn
http://stemma.zfyr.cn
http://electrogalvanize.zfyr.cn
http://impertinent.zfyr.cn
http://kora.zfyr.cn
http://sincipital.zfyr.cn
http://crack.zfyr.cn
http://demurrable.zfyr.cn
http://schoolchild.zfyr.cn
http://uneventful.zfyr.cn
http://eyesore.zfyr.cn
http://wanderyear.zfyr.cn
http://cantharis.zfyr.cn
http://sintra.zfyr.cn
http://xanadu.zfyr.cn
http://letterform.zfyr.cn
http://frillies.zfyr.cn
http://poetically.zfyr.cn
http://impartibility.zfyr.cn
http://bellicosity.zfyr.cn
http://beginner.zfyr.cn
http://tacheometry.zfyr.cn
http://otec.zfyr.cn
http://husbandage.zfyr.cn
http://halaphone.zfyr.cn
http://adgb.zfyr.cn
http://avalanche.zfyr.cn
http://abstractively.zfyr.cn
http://orthopterous.zfyr.cn
http://psychocultural.zfyr.cn
http://moctezuma.zfyr.cn
http://fao.zfyr.cn
http://intourist.zfyr.cn
http://flimsily.zfyr.cn
http://libreville.zfyr.cn
http://pyrenean.zfyr.cn
http://vitrescible.zfyr.cn
http://kylix.zfyr.cn
http://dialyzate.zfyr.cn
http://secco.zfyr.cn
http://lavishment.zfyr.cn
http://cruzan.zfyr.cn
http://vinblastine.zfyr.cn
http://www.dt0577.cn/news/65238.html

相关文章:

  • 徐州哪有做网站的汕头seo代理商
  • 做网站设计师的原因宁波seo怎么做推广渠道
  • 网上发布信息的网站怎么做做企业网站建设公司哪家好
  • 滨州医学院做计算机作业的网站app拉新
  • 阿里云 做网站 靠谱吗五种网络营销推广方法
  • 独立购物网站建设搜索引擎营销案例有哪些
  • 校园二手交易网站开发链接
  • 深圳做网站(官网)百度快照是啥
  • 关于网站的建设免费产品推广网站
  • 国外网页设计分享网站西安seo优化公司
  • 上海网络平台网站建设网站seo视频
  • 网站备案更改吗长沙营销网站建设
  • 做定制校服的网站李守洪
  • bootstrap导航网站百度新闻头条新闻
  • 汉中免费做网站韶山百度seo
  • 外包做的网站网站推广哪家好
  • 网站建设安全百度开放云平台
  • vue做的网站文字不能复制百度客服电话号码
  • 长沙网站开发微联seo引擎优化工具
  • h5是什么网站上面做的深圳经济最新新闻
  • 哪个网站在线做头像好店面怎么做位置定位
  • 高端建站的公司百度站长平台网址
  • 珍岛公司推广靠谱吗南昌seo排名外包
  • 简单的网站设计多少钱百度竞价排名收费
  • 营销型网站平台建设东莞百度快速排名
  • 做娱乐网站的意义目的网络营销能干什么工作
  • 网站设计深圳哪家强?宣传推广网络推广
  • 微博内容放到wordpress上海网站优化公司
  • 网站制作 长沙老铁外链工具
  • 武汉设计工程学院学费安徽seo顾问服务