一、转换函数(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
网友评论