プロキシ セクションで、ギャング オブ フォーのデザイン パターンは次のように述べています。
メンバー アクセス演算子をオーバーロードすることは、すべての種類のプロキシにとって適切な解決策ではありません。一部のプロキシは、どの操作が呼び出されたかを正確に知る必要があり、そのような場合、メンバー アクセス演算子のオーバーロードは機能しません。
[...]
その場合、リクエストをサブジェクトに転送する各プロキシ操作を手動で実装する必要があります。
[...]
通常、すべての操作は、リクエストをサブジェクトに転送する前に、リクエストが正当であること、元のオブジェクトが存在することなどを確認します。このコードを何度も書くのは面倒です。そのため、プリプロセッサを使用して自動的に生成するのが一般的です。
OK、C++ ではどのプリプロセッサとどのように?