연결리스트에서 배열처럼 선언하려면 어떤 연산자를 정의해야 하나요.
글쓴이: dltkddyd / 작성시간: 수, 2014/01/22 - 11:38오전
배열 선언시 선언과 동시에 메모리를 할당할 경우 다음과 같이 합니다.
int arr[2][4];
제가 LinkedList라는 자료형을 만들었는데 처음에 저 위으 경우처럼 메모리를 할당하기 위해
LinkedList linkdata[2][4];
로 선언하려 했습니다. 그리고 operator[] 연산자에서 내부포인터가 널일 경우에 메모리를 할당하게 하려 했는데, 저 경우에 operator[]이 호출되지 않습니다. 위에서 처럼 선언과 동시에 operator[]가 호출되도록 하려면 어떤 연산자를 어떻게 정의해야 하는 건가요?
Forums:
음.
LinkedList가 class/struct라면, 저렇게 선언하면 당연히 operator []가 아니라 LinkedList의 기본 생성자가 8번 호출됩니다.
애초에 operator[]는 선언시 사용하는 것이 아니라
int arr[5]; 이후 val = arr[3];과 같이 멤버에 접근하는 것처럼 사용하기 위해 사용하는 것인데
굳이 선언하면서 operator []를 호출하실 필요가 있는지요?
하려면 생성자 안에서 operator []를 직접 호출하시면 되겠습니다.
저는 이렇게 생각했습니다.
댓글 달기