喜欢这篇文章吗?喜欢的话去看博主的置顶博客,即可依据分类找到此文章的原版得到更好的体验,
图片及代码显示的问题,笔者深感抱歉,想要更好的体验去原博文即可。
title: c++重学笔记21 - 类型选择器
mathjax: true
date: 2020-03-15 23:36:01
categories: [c++重学笔记]
tags: [c++重学笔记]
keywords: [c++重学笔记]
类型选择器
在泛型编程中,我们常常会碰到类型选择的问题,若一个类型配置有选择为是否多态,则我们可能需要通过这个bool的值来判断下一步是定义一个指针还是定义一个引用,这时候我们的类型选择器登场了
namespace trick {
template <bool c, class T, class S>
struct type_chose {
typedef T type;
};
template <class T, class S>
struct type_chose<false, T, S> {
typedef S type;
};
} // namespace trick
type_choose<false,int*,int&>::type就是int&,
type_choose<true,int*,int&>::type就是int*,