为什么要在gcc/libstdc+中实现“池-分配”基+-v3/src/c++;98/pool_allocator.cc?
当我阅读STL中的pool_allocator时,我发现,u pool_alloc_基类的许多函数都是在gcc/libstdc++-v3/src/c++98/pool_allocator.cc中实现的,这是为什么设计的?为什么不将这些函数的实现放在pool_allocator.h中呢 池分配程序.h为什么要在gcc/libstdc+中实现“池-分配”基+-v3/src/c++;98/pool_allocator.cc?,gcc,stl,implementation,Gcc,Stl,Implementation,当我阅读STL中的pool_allocator时,我发现,u pool_alloc_基类的许多函数都是在gcc/libstdc++-v3/src/c++98/pool_allocator.cc中实现的,这是为什么设计的?为什么不将这些函数的实现放在pool_allocator.h中呢 池分配程序.h class __pool_alloc_base { protected: ... _GLIBCXX_CONST _Obj *volatile *_M_get_free_list(si
class __pool_alloc_base {
protected:
...
_GLIBCXX_CONST _Obj *volatile *_M_get_free_list(size_t __bytes) throw();
__mutex & _M_get_mutex() throw();
// Returns an object of size __n, and optionally adds to size __n
// free list.
void *_M_refill(size_t __n);
// Allocates a chunk for nobjs of size size. nobjs may be reduced
// if it is inconvenient to allocate the requested number.
char *_M_allocate_chunk(size_t __n, int &__nobjs);
};