[] 演算子は複数回オーバーロードでき、多次元配列の作成が可能になります。 2 次元配列の場合、このようなオーバーロードにより、function[row][col] 構文を使用して要素にアクセスできるようになります。
次のコード例を考えてみましょう。
class ArrayOfArrays { public: ArrayOfArrays() { _arrayofarrays = new int*[10]; for(int i = 0; i < 10; ++i) _arrayofarrays[i] = new int[10]; } class Proxy { public: Proxy(int* _array) : _array(_array) { } int operator[](int index) { return _array[index]; } private: int* _array; }; Proxy operator[](int index) { return Proxy(_arrayofarrays[index]); } private: int** _arrayofarrays; };
Thisクラスを使用すると、2 次元配列を作成し、オーバーロードされた [] 演算子を使用してその要素にアクセスできます。たとえば、次のように記述できます。
ArrayOfArrays aoa; aoa[3][5];
このコードは、aoa 配列の行 3、列 5 の要素にアクセスします。配列の定義された境界外の要素にアクセスしようとしないように、適切な境界チェックを提供する必要があることに注意してください。
以上が演算子のオーバーロードによって C で多次元配列アクセスを作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。