在代理部分,四人帮的设计模式说:
重载成员访问运算符对于每种代理都不是一个好的解决方案。一些代理 需要准确知道调用哪个操作,并重载成员访问操作符 在这些情况下不起作用。
[...]
在这种情况下,我们必须手动 实现将请求转发给主题的每个代理操作。
[...]
典型地 所有操作在转发之前验证请求是否合法,原始对象是否存在等 对主题的要求。一次又一次地编写这段代码是很繁琐的。因此,使用预处理器自动生成它是很常见的。
好的,哪个预处理器以及如何在C ++中使用?
答案 0 :(得分:0)
在C ++中实现某些设计模式的规范参考是
现代C ++设计 作者:Alexandrescu
使用C ++类型系统构建设计模式的技术的另一个很好的参考是
上的书C ++模板 由Vandevoorde&约祖蒂斯
模板元编程的 参考是
C ++模板元编程:Boost及其后的概念,工具和技术 作者:David Abrahams和Alesky Gurtovoy。
答案 1 :(得分:0)
我认为它们意味着围绕主题类自动生成包装器代码。一个例子是SWIG项目生成的包装器代码。