背景
为什么要研究C++模版呢?因为它有趣,也因为他是C++中的黑魔法。如果你也一样对模版感兴趣,那么希望你能一直坚持下去,并不断探索和交流
C++template定义
C++模版可类比为C语言中的宏,本质上都是代码替换,而C++中,template则是代码生成器。
C++中template的定义如下:
由template关键字开始,后跟<模版参数>, 模版参数由多个typename列表组成。
譬如定义一个模版函数func, 其实现两个数相加,则如下
template <typename T> auto func(T val1, T val2) { return val1 + val2; }