听到类型萃取这个名字,很多人肯定都感觉好高大上啊,会不会很难,是个什么东西呢?别着急,听我娓娓道来。
【类型萃取】说白了就是对模板特化的一种应用。
1、类型萃取的作用:类型萃取使用模板技术来萃取类型(包含自定义类型和内置类型)的某些特性,用以判断该类型是否含有某些特性,从而在泛型算法中来对该类型进行特殊的处理用来提高效率或者其他。
我们来看一道读类型萃取应用的题:如果我们要编写一道通用加法的函数,但是它的返回值和参数的类型不同,也就是说,它的返回值和参数我们可以进行分开控制。来看我们怎么做:(这个例子是实现返回值返回的是提升一个类型)
#include<iostream>
using namespace std;
template<typename T>
struct ElemType;
template<>
struct ElemType<int