快速的問題,我看到當我谷歌這個話題唯一的事情是人們說,使用代理是要走的路。爲什麼返回一個指針不可行?多維下標,爲什麼在指針上使用代理?
例子!
class example{
private:
int** arr;
public:
int* operator[](const int index) {
return arr[index];
}
};
我們剛剛打過電話
cout << example[0][0];
5
,並在陣列中的工作,我爲什麼要經歷的麻煩創建一個代理類和調用proxys運營商[],以達到一個更「深入」 ?
那麼,爲什麼你首先需要一個類而不是'int **'? 'example [0] [0]'也可以用於'int **'。 – iavr 2014-09-24 19:58:16
通常代理是「需要」的,因爲數據不能通過指向指針的指針訪問。但大多數時候你不需要'[x] [y]'訪問。 – juanchopanza 2014-09-24 19:58:27
該類是一個矩陣類,可以執行矩陣乘法,旋轉投影等等......我剛剛創建了這個示例類! – 2014-09-24 20:07:17