conversion function,转换函数
A转换成T 有两种方式
1、A操作符重载 operator T() const()
2、T的构造函数 T(const A&) or T(const A&,int len=0) //注意后面那个值one-argument
注意explicit关键字,禁止编译器默认执行
pointer-like classes 智能指针
1、[*]和[->] 操作符重载
2、shared_ptr 引用计数
function-like classes
namespace
1、命名空间,可以有效的隔绝同名的情况
2、注意作用域
3、用法 ::
Template 注意关键字有区别
1、类模板,类操作的元素不同 ,但是逻辑相同,都可以用类模板实现
用法:template<typename T>
例子:complex<double> c1(2.5,1.5);
complex c1(2,1);
2、函数模板,和类模板同样的场景,
用法:template<class T>,会用到T的成员函数
3、成员模板,模拟向上构造