C++如何限制模板类的类型

或者说,C++如何限制泛型的参数类型?

在使用泛型编程时,有时候会有类似需求:要求T只能为某个类,或某几个类,那应该如何实现?据我所知有3中:

  1. 使用模板函数;
  2. 使用typeid函数(不推荐,因为其基于RTTI原理,会生成额外代码);
  3. 巧用static_cast;

前两种学习理解起来都比较复杂,以后有空了再更,暂时只介绍第3种,示例和方法如图:

C++如何限制模板类的类型_第1张图片

你可能感兴趣的:(程序人生,高效C++,经验分享,c++,设计模式)