1

プロキシ セクションで、ギャング オブ フォーのデザイン パターンは次のように述べています。

メンバー アクセス演算子をオーバーロードすることは、すべての種類のプロキシにとって適切な解決策ではありません。一部のプロキシは、どの操作が呼び出されたかを正確に知る必要があり、そのような場合、メンバー アクセス演算子のオーバーロードは機能しません。

[...]

その場合、リクエストをサブジェクトに転送する各プロキシ操作を手動で実装する必要があります。

[...]

通常、すべての操作は、リクエストをサブジェクトに転送する前に、リクエストが正当であること、元のオブジェクトが存在することなどを確認します。このコードを何度も書くのは面倒です。そのため、プリプロセッサを使用して自動的に生成するのが一般的です。

OK、C++ ではどのプリプロセッサとどのように?

4

2 に答える 2

0

サブジェクトクラスのラッパーコードの自動生成を意味していると思います。例として、SWIGプロジェクトによって生成されたラッパー コードがあります。

于 2011-05-05T21:16:46.933 に答える
0

C++ でいくつかのデザイン パターンを実装するための正規のリファレンスは次のとおりです。

Alexandrescu による最新の C++ 設計

設計パターンを構築するために C++ の型システムを使用するテクニックに関するもう 1 つの参考文献は、次の本です。

Vandevoorde & Josuttis による C++ テンプレート

そしてテンプレートのメタプログラミングのリファレンスは

C++ テンプレート メタプログラミング: David Abrahams と Alesky Gurtovoy による Boost and Beyond の概念、ツール、テクニック。

于 2011-05-05T20:25:51.270 に答える