빠른 질문, 제가이 주제를 Google로 볼 때 유일한 사실은 사람들이 프록시를 사용하는 것이 최선이라고 말하는 것입니다. 실행 가능한 포인터를 반환하지 않는 이유는 무엇입니까?다차원 subscripting, 왜 포인터를 통해 프록시를 사용합니까?
예제!
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
일반적으로 포인터는 포인터에 대한 포인터를 통해 데이터에 액세스 할 수 없으므로 프록시가 "필요"합니다. 하지만 대부분의 경우에는 어쨌든'[x] [y] '액세스가 필요하지 않습니다. – juanchopanza
클래스는 행렬 곱셈, 회전 투영법 등을 수행 할 수있는 Matrix 클래스입니다. 방금 예제 클래스를 만들었습니다! –