这周主要介绍了以下部分的内容
1.转换函数 当我们碰到分数要和实数相加时,要使用转换函数将分数先转换成实数
侯老师在课上主要讲了以下几个要点:
(1)
当出现fraction d2=f+4时,会自动调用上面的构造函数,将4初始化为4/1 如果不想出现这种情况要在构造函数前加explicit
(2)
当出现以上情况时,编译器不知道是将分数先转换成实数,还是先将实数转换成分数,会出现模拟两可的情况
2.智能指针和仿函数
关于智能指针和仿函数这块听的有点不太懂 先留点疑问,希望侯老师后面能详细的解读
3.模板
本周侯老师重点讲了模板的内容,比起之前,补充了不少知识
之前我们大概接触了函数模板,类模板和成员模板。侯老师这周补充了模板特化,模板偏特化和模板模板参数等知识模板为什么要特化,因为编译器认为,对于特定的类型,如果你能对某一功能更好的实现,那么就该听你的。特化分为全特化与偏特化。全特化就是限定死模板实现的具体类型,偏特化就是如果这个模板有多个类型,那么只限定其中的一部分。其中模板偏特化分为个数的偏和范围的偏 模板模板参数是说将模板中的参数也模板化。
4.
三种特性
侯老师讲了新标准的三种特性
auto 使用auto 编译器将根据返回类型来判断数据类型 要注意的是不能先用auto 声明再赋值。
数量不定的模板 主要是用递归的方法实习,令人印象深刻
第三个是ranged-base for
5.最后侯老师讲了引用到底是什么 其实说白点引用就是一种const的指针。