struct default_user_allocator_new_delete
{
typedef std::size_t size_type;
typedef std::ptrdiff_t difference_type;
static char * malloc BOOST_PREVENT_MACRO_SUBSTITUTION(const size_type bytes)
{ return new (std::nothrow) char[bytes]; }
static void free BOOST_PREVENT_MACRO_SUBSTITUTION(char * const block)
{ delete [] block; }
};
boost pool을 보면 위와 같은 기본 메모리 할당자를 정의했는데
std::allocator라는 표준을 준수하는 메모리 할당자를 써도 나쁠 게 전혀 없을 텐데
왜 저런 메모리 할당자를 정의했을까...
사용법 자체는 어차피 비슷한데... 알 수가 없군... ㅡ_ㅡ..
{
typedef std::size_t size_type;
typedef std::ptrdiff_t difference_type;
static char * malloc BOOST_PREVENT_MACRO_SUBSTITUTION(const size_type bytes)
{ return new (std::nothrow) char[bytes]; }
static void free BOOST_PREVENT_MACRO_SUBSTITUTION(char * const block)
{ delete [] block; }
};
boost pool을 보면 위와 같은 기본 메모리 할당자를 정의했는데
std::allocator라는 표준을 준수하는 메모리 할당자를 써도 나쁠 게 전혀 없을 텐데
왜 저런 메모리 할당자를 정의했을까...
사용법 자체는 어차피 비슷한데... 알 수가 없군... ㅡ_ㅡ..
댓글 0