一、转换函数(conversion function)
1.转出去,把本类转为其它类型
2.转回来,把其它类型转为本类类型
3.如果两个都有,则报错
二、non-explicit-one-argument constractor
1.强制不允许发生隐式转换
2.一个例子:代理设计模式
operator[]本该返回bool值,却返回了一个reference,这个叫代理。但能这么做的前提是reference本身有转换为bool的转换函数。
三、智能指针(pointer-like class)
1.把指针封装成类,并且写出相应的转换函数,增加一些的功能。
2.迭代器
*和->的转换函数:
四、仿函数(function-like class)
即在类里面重载()操作符。
五、namespace经验谈
六、class template
七、function template
八、member template