[] 運算子可以重載多次,從而允許建立多維數組。對於二維數組,這種重載使您能夠使用 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; };
此類允許您建立二維陣列並使用重載的 [] 運算子存取其元素。例如,您可以編寫:
ArrayOfArrays aoa; aoa[3][5];
此程式碼將存取 aoa 陣列第 3 行第 5 列的元素。請注意,您必須提供適當的邊界檢查,以確保您不會嘗試存取陣列定義邊界以外的元素。
以上是運算子重載如何在 C 中建立多維數組存取?的詳細內容。更多資訊請關注PHP中文網其他相關文章!