5. 배열의 크기를 반환하는 size() 멤버 함수와 소멸자(destructor)를 구현합니다. 소멸자에서는 메모리 릭을 방지하기 위해 할당된 메모리를 해제합니다.
size_t size() const
{
return n;
}
~dynamic_array()
{
delete[] data; // 메모리 릭 방지
}
6. dynamic_array의 배열 원소를 순회할 때 사용할 반복자 관련 함수를 정의합니다.
T* begin() { return data; }
const T* begin() const { return data; }
T* end() { return data + n; }
const T* end() const { return data + n; }