배열의 두 번째 요소에 접근하고싶다면 'a[1]'와 같이 표시해줄 수 있습니다.

여기서 '[]' 이 대괄호 표시를 '배열 연산자'라고 정의합니다.

 

간단한 '배열 컨테이너'를 만들어보면 그 쓰임새를 쉽게 파악할 수 있습니다.

class Array {
private:
    int *arr;
    int size;
    int capacity;
    
public:
    Array(int cap = 256) : arr{nullptr}, size{0}, capacity{cap} {
    	arr = new int[capacity];
    }
    
    ~Array() { delete[] arr; }
    
    int GetSize() const { return this->size; }
    
    void Add(int data) {
    	if (size < capacity) arr[size++] = data;
    }
    
    int operator[](int index) const {
    	if (size > index) return arr[index];
    }
};

void main() {
    Array arr{512};
    arr.Add(10); arr.Add(20); arr.Add(30);
    
    for (int i = 0; i < arr.GetSize(); ++i)
    	cout << arr[i] << endl;
}