条款M30:代理类

代理类的核心:也是在类中间加一层,对成员函数返回结果可以进一步判断,修改后再处理

在代理 proxy 类上只能做三件事:

  • 创建它,也就是指定它扮演哪个字符。
  • 将它作为赋值操作的目标,在这种情况下可以将赋值真正作用在它扮演的字符上。这样被使用时,proxy 类扮演的是左值。
  • 用其它方式使用它。这时,代理类扮演的是右值。

Proxy 类可以完成一些其它方法很难甚至不可能实现的行为。多维数组是一个例子,左
/右值的区分是第二个,限制隐式类型转换是第三个。同时,proxy 类也有缺点。作为函数返回值,proxy 对象是临时对象(见 Item 19),需要析构构造的成本。

参考资料;More Effective C++ 条款30

你可能感兴趣的:(More,Effective,C++笔记)