C におけるプロキシ クラスの役割
ソフトウェア エンジニアリングにおいて、プロキシ クラスは、既存のオブジェクトへのアクセスを仲介するために使用される概念です。 「主題」と呼ばれます。プロキシ クラスは、変更されたインターフェイスを提供し、制御された、多くの場合制限されたサブジェクトとの対話を許可します。
プロキシ クラスの目的
プロキシ クラスは、次のようなさまざまな理由で作成されます。
例: 2 進数の制限
次の例を考えてみましょう:
struct array1 { int mArray[10]; int &operator[](int i) { /// what to put here } };
この例では、Array クラスを変更して、 2 進数 (1 または 0) が含まれます。これを配列の Operator[] メソッドに直接実装することは、保存されている値にアクセスできないため実現できません。
これを解決するには、プロキシ クラスを導入できます。
struct aproxy { aproxy(int& r) : mPtr(&r) {} void operator = (int n) { if (n > 1 || n < 0) { throw "not binary digit"; } *mPtr = n; } int * mPtr; }; struct array { int mArray[10]; aproxy operator[](int i) { return aproxy(mArray[i]); } };
この場合、プロキシ クラス (aproxy) は無効な値 (非バイナリ数字) をチェックし、検出された場合は例外をスローします。配列の Operator[] が Proxy クラスのインスタンスを返すようにすることで、配列要素へのアクセスを許可しながら 2 進数の制限を強制します。
以上がプロキシ クラスはどのように配列内で 2 進数の制限を強制できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。