allocator類將對象分配和對象構造分開。當allocator對象分配記憶體的時候,它會分配適當大小並排列成保存給定類型對象的空間。
allocator提供如下幾種操作:
allocator<T> a; 定義名為a的allocator對象,可以分配記憶體或構造T類型的對象。
a.allocate(n); 分配原始的構造記憶體以保存T類型的n個對象.
a.deallocate( p, n ) 釋放記憶體,在名為p的T*指針中包含的地址處保存T類型的n個對象。
a.construct( p, t ) 在T*指針p所指向的記憶體中構造一個新元素。運行T類型的複製構造函式用t初始化該對象
a.destroy(p) 運行T*指針p所指向的對象的析構函式。