[C++ 문법] 배열 연산자 오버로딩
배열의 두 번째 요소에 접근하고싶다면 '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; }
'Programming > C C++' 카테고리의 다른 글
[C++ 문법] '함수 객체(Functor)' (0) | 2019.05.17 |
---|---|
[C++ 문법] '-> 연산자 오버로딩'과 '스마트 포인터' (0) | 2019.05.16 |
[C++ 문법] 'const' 위치에 따른 멤버함수의 의미 (2) | 2019.05.15 |
[C] 네트워크 인터페이스에 관한 정보 - ioctl() (0) | 2019.02.02 |
[C] Reserved Names (0) | 2019.01.31 |
댓글
이 글 공유하기
다른 글
-
[C++ 문법] '함수 객체(Functor)'
[C++ 문법] '함수 객체(Functor)'
2019.05.17 -
[C++ 문법] '-> 연산자 오버로딩'과 '스마트 포인터'
[C++ 문법] '-> 연산자 오버로딩'과 '스마트 포인터'
2019.05.16 -
[C++ 문법] 'const' 위치에 따른 멤버함수의 의미
[C++ 문법] 'const' 위치에 따른 멤버함수의 의미
2019.05.15 -
[C] 네트워크 인터페이스에 관한 정보 - ioctl()
[C] 네트워크 인터페이스에 관한 정보 - ioctl()
2019.02.02
댓글을 사용할 수 없습니다.