C++ 模板学习总结(一)

前题:

最近公司接到一个平台项目,平台中涉及到C++11和较多模板方面的代码,发现同事对C++模板部分的理解几乎为零,也没有人了解C++11的语法,所以做了几次培训,刚开始在C++11部分的讲解尚可,模板部分的培训效果可以说是一塌糊涂,几乎没有人能听懂我在说什么,两次以后参加的人也是寥寥无几了,事后总结了一下,感觉模板里面的内容如果没有基础想听懂也是有的难,于是在此记录下本次培训涉及到的模板方面的内容,主要包含以下方面的内容
  • 模板参数的类别及相关知识,包含{类型模板参数(Type Template Parameters)、非类型模板参数(Non-Type Template Parameters)、模板模板参数(Template Template Parameters)以及C++11中新的内容 可变模板(Variadic Template)和其涉及的参数包(Parameters Pack)}
  • 模板的特化Specialization和实例化(Instantiation
    • 全特化(Full Specialization)或者叫(Explicit Specialization), 类模板的偏特化(Partial Specialization
    • 显示实例化(Explicit Instantiation),隐式实例化(Implicit Instantiation
  • ADL查找(Argument Dependent Lookup
  • 函数模板的实参演绎(Template Argument Deduction
  • SFINAE(Substitution Is Not An Error),这部分技巧偏多
  • 函数模板的重载(Template Functions Overload),这部分相对比较复杂,涉及到当通过模板参数演绎的方式来调用函数的时候如何在重载函数中做选择的问题
  • 列举各种案例,其中一部分是来自于CppReference 一部分来自Stack Overflow的提问和回答,还有一部分是我自己写的。
先写这些内容,剩下的以后觉得不足再做补充,看起来是个挺浩大的工程,所以不着急,慢慢来,先开个题,争取五月份以前可以总结完。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值