std:allocator<T>

클래스로 메모리를 할당함
new, delete와 다르게 더 디테일하게 메모리를 만질 수 있다.

template <class T>
class allocator
{
public:
   T* allocate(size_t);
   void deallocate(T*, size_t);
   void construct(T*, const T&);
   void destory(T*);
   
   ....
};
  • allocate : 초기화하지 않은 메모리를 공간을 할당받고 시작주소를 리턴한다.
  • deallocate : 메모리 공간을 해제한다. (다시 접근하면 segfault);
  • construct : 초기화하지 않은 메모리 공간에 접근해 요소를 저장한다.
    일반적으로 초기화하지 않은 공간에 접근하면 오류가 나는데 이 함수를 이용하면 가능
  • destroy : 객체를 소멸시킨다. (deallocate + NULL);

좋은 웹페이지 즐겨찾기