游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

C模板编程自定义创建vector及创建容器

  includetpftypeutil。hincludetfttypelib。hautostreamtpf::stream();streamautonlstream。getconsoleout();newlinetemplatetypenameT,sizetNTistypetemplateparameter,NisnontypetemplateparametertemplatetypenameT,autoNvoidtakestaticarray(T(array)〔N〕)(Tarray)〔N〕isalvaluereferencetoaarrayoftypeTwitNelements{streamType:TpfGetTypeName(T)〔N〕ispassedasparameternl;streamarraynl;}templatetypenameT,sizetN1,sizetN2Tistypetemplateparameter,N1andN2arenontypetemplateparametertemplatetypenameT,autoN1,autoN2voidtakestaticarray(T(array)〔N1〕〔N2〕)twodimensionalstaticarray{streamType:TpfGetTypeName(T)〔N1〕〔N2〕ispassedasparameternl;streamarraynl;}voidteststaticarray(){intarray〔〕{1,2,3,4,5};takestaticarray(array);intarray2〔〕〔5〕{{1,2,3,4,5},{5,4,3,2,1}};takestaticarray(array2);}decayarraytopointertemplatetypenameT,sizetNautodecayarray(T(array)〔N〕){returnarray;}primaryclasstemplatetemplatetypenameTstructcontainerelementst{usingtypeT;usingelementtypeT;staticconstexprboolischaracterarrayfalse;staticconstexprsizetarraycount0;};templatesizetNstructcontainerelementstchar〔N〕nonreference{usingtypechar;usingelementtypestd::string;staticconstexprboolischaracterarraytrue;staticconstexprsizetarraycountN;};templatesizetNstructcontainerelementstwchart〔N〕nonreference{usingtypewchart;usingelementtypestd::wstring;staticconstexprboolischaracterarraytrue;staticconstexprsizetarraycountN;};getwhetherecharacterarraytemplatetypenameTconstexprautoischaracterarrayvcontainerelementsttft::removeconstreferencetT::ischaracterarray;getarraysizetemplatetypenameTconstexprautoarraycountvcontainerelementsttft::removeconstreferencetT::arraycount;defineelementtypetemplatetypenameTusingelementflatttypenamecontainerelementsttft::removeconstreferencetT::type;templatetypenameT,sizetNstructcontainerelementstT〔N〕{usingtypeT;usingelementtypestd::vectorT;};definecontainerelementtypetemplatetypenameTusingcontainerelementttypenamecontainerelementsttft::removeconstreferencetT::elementtype;createavectortemplatetypenameType,typename。。。Typesautomakevector(Typefirst,Types。。。args){determinewhethertypeargumentisanarrayifconstexpr(std::isarrayvtft::removeconstreferencetType){thisistoallowonlycharacterarraystaticassert(ischaracterarrayvType,shouldbecharacterarray);usingelementtcontainerelementtType;usingcontainertstd::vectorelementt;sizetsizearraycountvType;constautolastcharacterfirst〔size1〕;lastcharacterisNULLcharacterif(elementflattType{}lastcharacter)returncontainert{decayarray(first),decayarray(args)。。。};else{returncontainert{elementt{std::cbegin(first),std::cend(first)},elementt{std::cbegin(args),std::cend(args)}。。。};}}else{usingelementttft::removeconstreferencetType;returnstd::vectorelementt{std::forwardType(first),std::forwardTypes(args)。。。};}}创建一个容器templatetemplatetypename,typename。。。classCntrType,typenameType,typename。。。Typesautomakecontainer(Typefirst,Types。。。args){ifconstexpr(std::isarrayvtft::removeconstreferencetType){thisistoallowonlycharacteronlystaticassert(ischaracterarrayvType,shouldbecharacterarray);usingelementtcontainerelementtType;usingcontainertCntrTypeelementt;sizetsizearraycountvType;constautolastcharacterfirst〔size1〕;lastcharacterisNULLcharacterif(elementflattType{}lastcharacter)returncontainert{decayarray(first),decayarray(args)。。。};else{returncontainert{elementt{std::cbegin(first),std::cend(first)},elementt{std::cbegin(args),std::cend(args)}。。。};}}else{usingelementttft::removeconstreferencetType;returnCntrTypeelementt{std::forwardType(first),std::forwardTypes(args)。。。};}}templatetypenameTvoidprinttype(Targ){streamTypeofT:TpfGetTypeName(T),Typeofarg:TpfGetTypeCategory(decayarray(arg))nl;}voidsimpletip(){inta1;std::vectorintv1{1,2,3,4,5};autov2makevector(a,2,3,4,5,6,7,8,9,10);streamv1v1nl;streamv2v2nl;autov3makevector(123,tomaskim,han,saimei,shuang);streamv3v3nl;}voidsimpletipadvance(){inta1;std::vectorintv1{1,2,3,4,5};autov2makecontainerstd::vector(a,2,3,4,5,6,7,8,9,10);streamv1v1nl;streamv2v2nl;autov3makecontainerstd::deque(123,tomaskim,han,saimei,shuang);streamv3v3nl;}intmain(){teststaticarray();simpletip();simpletipadvance();return0;}

红米K50终于来了?顶级2K屏67W快充,或首发骁龙875经过几年的耕耘,红米的K系列可以说获得了众多用户的认可,在中端旗舰里是排得上号的,红米K40系列目前已经热卖大半年,日子数着数着也该是新机预热的时候了,日前网络上就出现不少关于……数字化网络化智能化制造业迈上新台阶新华社北京10月4日电题:数字化、网络化、智能化制造业迈上新台阶新华社记者张辛欣一键协同,智慧供应链可实现物料自动调配;企业上云,智能调度系统帮助优化排产;数字工厂……MES助力企业标准化生产制造建设从根本上来说MES是系统,而不是如同CAD或者办公软件一样的工具,尤其是同企业的管理和工艺在结合,其内涵的差别性就更大了。这个很难统一,就算是统一,其必要性也是是需要打问号的。……这款紧凑型SUV的动力比宝马X1还强,10。98万元起售现如今国内SUV市场的竞争可谓是非常激烈,特别是10万15万元这个价格区间,合资的、自主的,各种车型让人眼花缭乱。今天小编就给大家介绍一款10。98万元起售的SUV名爵HS。为……对比iPhone12Pro与iPhone12普通型号是否足够这是一个新的开始,因为iPhone12、iPhone12pro、iPhone12mini和iPhone12promax是有史以来第一款具有5G连接的iPhone设备。可iPho……在线舞蹈游戏DistanceDisco视觉形象设计DistanceDisco是一款在线舞蹈游戏,作为应对新冠疫情(COVID19)保持社交距离的解毒剂,由荷兰阿姆斯特丹的独立互动艺术家发起和创建,目前处于测试版。最近,他们推出……风扇界颜值担当,无扇叶的戴森是如何把甲醛治得服服帖帖?都说装修一时爽,善后火葬场工作室在爽过之后,毛病也挨个蹦了出来。小伙伴最常念叨的,就是新影棚有股子刺鼻味儿。为了能持久压榨员工小伙伴们的健康,我们连夜网上冲浪,发现了更多……最强小钢炮iPhoneSE2,A13的芯,iPhone8的外随着时代的发展,现在的智能手机也越做越大,不止是屏幕,连相机、后盖都越来越大,甚至还有折叠手机的出现,以前的一只手就可以掌控的手机的年代似乎已经一去不复返了。但是这么一款iPh……缺芯浪潮下的电子科技市场,是否会影响到智能微型融合断路器行业缺芯浪潮下的电子科技市场,是否会影响到智能微型融合断路器行业时间进入2020年下半年,随着全球疫情的愈演愈烈,全球芯片供应也亮起了红灯,其中最为明显的就是2021年初的高……华硕灵耀非遗中国色推广大使阿云嘎,守护推广传统非遗文化华硕灵耀非遗中国色推广大使阿云嘎,守护推广传统非遗文化传统文化与新兴科技的结合,会是一种什么体验?最近,阿云嘎化身华硕灵耀非遗中国色推广大使,从舞台到山川,本着对传……GPDPocket3,可更换接口的8寸电脑,支持KVM和HD这样的电脑配置i71195G7强大的处理器,还能支持模块化替换接口,你们觉得如何?GPDPocket3是一款集大成之作,是综合了GPDMicroPC和GPDPocket系列的特……隔空取物的神器贝锐向日葵开机插座C2在介绍今天的神器之前我就描述一个场景,如果你能感同身受,那么我觉得你就不用看下面的分享直接去买就对了。如果你看完没啥感觉,那么你接下去继续看,我相信你不用看完,一样会马上去买,……
平均数教学反思在学完平均数这一内容后,我出示了一个开放题,取得了意想不到的好效果。我设计了一个表格,内容是三个同学三次的数学成绩:小明(第一次:63第二次84第三次90)小红(第一次:82第……口语交际春天在哪里课堂教学设计教材分析《春天在哪里》是义务教育课程标准实验教科书语文(人教版)一年级下册语文园地一中的口语交际。针对本册教材以专题组织单元的编排方式,口语交际设计也是围绕此单元的主题多……2019中考七年级ampnbspUnitampnbsp6amXX中考七年级unit6topic1复习学案unit6topic1实验中学一、学习目标:1、知识与技能:a:学习并掌握本话题生词:secondpe……我的老师魏巍阅读训练答案我的老师魏巍(1)最使我难忘的,是我小学时候的女老师蔡老师。现在回想起来,她那时只有十八九岁,是一个温柔美丽的人。(2)她从来不打骂我们。仅仅有一次,她的教鞭好像要……六年级下册科学教案精选六年级下册科学教案1:生态平衡教学目标过程与方法:能够通过收集资料,对目前的生态现象做出判断。能够参与讨论人类危害环境的行为。能够就破坏生态平衡进……关于晏子使楚的语文文言文阅读题及答案晏子将使楚。楚王闻之,谓左右曰:晏婴,齐之习辞者也,今方来,吾欲辱之,何以也?左右对曰:为其来也,臣请缚一人过王而行。王曰,何为者也?对曰,齐人也。王曰,何坐?曰,坐盗。……八年级地理的教学反思范文,转眼间开学已经半个多学期了。在这半个多学期中,我接触了新教材、新学生。有许多收获也有很多遗憾。现将半个学期的教学工作回顾如下:面对新课程改革的大环境,面对新教材,我感到……怀疑与学问教学设计作为一名为他人授业解惑的教育工作者,时常需要准备好教学设计,借助教学设计可以让教学工作更加有效地进行。我们该怎么去写教学设计呢?下面是小编精心整理的怀疑与学问教学设计,希望能够……八年级语文下册第一单元复习资料语文:第一单元复习资料(鄂教版八年级下)一、单元复习目标1了解每课的作者及相关的背景知识。2识记积累每课的生字、生词。3学会抓住重要的语句理解作品的主旨……风娃娃的教学反思范文《风娃娃》是新课程语文第三册第四单元的第四篇课文。本单元教材是围绕怎样看问题,想问题。这个主题安排了一些给人启迪的成语和故事,让学生在阅读中识字,在阅读中感悟生活的哲理。……公鸡和猫头鹰阅读答案公鸡和猫头鹰阅读答案,你找到资料了吗?那么,关于公鸡和猫头鹰阅读答案是怎么样的呢?以下就是小编整理的公鸡和猫头鹰阅读答案,一起来看看吧!篇一:公鸡和猫头鹰阅读答案黄昏的时……有关周围的生物教案(一)导入新课:师:你见过小鸡的生长过程吗?你见过一个小小的婴儿会长大吗?你见过蝴蝶是怎样变化来的吗?你知道一粒种子是怎样长成植物的吗?这些都是小小的生命,生命是美妙的,……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网