This commit is contained in:
邹晓航
2014-09-22 16:57:31 +08:00
parent 288e68fb5e
commit e947f535f3

View File

@@ -71,12 +71,13 @@ namespace TinySTL{
void alloc::deallocate(void *ptr, size_t bytes){ void alloc::deallocate(void *ptr, size_t bytes){
if (bytes > EMaxBytes::MAXBYTES){ if (bytes > EMaxBytes::MAXBYTES){
free(ptr); free(ptr);
} }else{
size_t index = FREELIST_INDEX(bytes); size_t index = FREELIST_INDEX(bytes);
obj *node = static_cast<obj *>(ptr); obj *node = static_cast<obj *>(ptr);
node->next = free_list[index]; node->next = free_list[index];
free_list[index] = node; free_list[index] = node;
} }
}
void *alloc::reallocate(void *ptr, size_t old_sz, size_t new_sz){ void *alloc::reallocate(void *ptr, size_t old_sz, size_t new_sz){
deallocate(ptr, old_sz); deallocate(ptr, old_sz);
ptr = allocate(new_sz); ptr = allocate(new_sz);