为什么要在gcc/libstdc+中实现“池-分配”基+-v3/src/c++;98/pool_allocator.cc?

为什么要在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

当我阅读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(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);
};