C++11特性-模板的改进
创始人
2024-03-26 22:12:42
0

1.模板的右尖括号>>

         C11模板的多个右尖括号需要一个空格符fun >,之前连在一起是右移操作符

          C11特性优化了这个fun>

2.模板的默认参数

         函数模板能添加模板参数         template

         类模板参数多个时,必须从右往左添加默认参数;函数模板多参时,都可以

         模板参数的优先级(从高到低):

                1.显示指定参数类型

                2.使用推导的参数类型

                3.默认的模板参数类型

                4.没有默认也不能推导除参数类型,则会报错

 3.using与typedef

        using与typedef定义类型的别名,不会创建新的类型

 

        定义基础类型一样

typedef int int111;//typedef 旧的类型名 新的类型名(别名)
using int222 = int;//using 新的类型名(别名)= 旧的类型名 

        定义函数指针时,using更直观

typedef int(*funcc)(int, string);
using funccc = int(*)(int, string);//可读性

        定义模板时,using能直接使用,typedef需要在定义外套一个类或者结构体

template 
//typedef ds  Ds;
//使用typedef时,需要使用class或者struct外包一层
struct MyStruct1
{typedef map  Ds;
};template 
using Um = map;

4.可变参的模板函数

        a.申明及调用

         b.参数包的展开-递归

         c.参数包的展开-非递归

5.可变参的模板类     

        a.参数包的展开-模板类继承方式

        b.参数包的展开-模板类递归和特化方式

 

相关内容

热门资讯

【PdgCntEditor】解... 一、问题背景 大部分的图书对应的PDF,目录中的页码并非PDF中直接索引的页码...
监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
修复 爱普生 EPSON L4... L4151 L4153 L4156 L4158 L4163 L4165 L4166 L4168 L4...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
ChatGPT 怎么用最新详细... ChatGPT 以其强大的信息整合和对话能力惊艳了全球,在自然语言处理上面表现出了惊人...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...