mayuchen

Results 1 issues of mayuchen

```cpp ~deque() { if (map_ != nullptr) { clear(); data_allocator::deallocate(*begin_.node, buffer_size); *begin_.node = nullptr; // 内存没有泄漏???clear操作并没有释放内存,应该是写错了 map_allocator::deallocate(map_, map_size_); map_ = nullptr; } } ``` 上述为deque的析构函数,其内部调用了clear函数,但是clear函数内部只调用了`data_allocator::destroy`函数,此函数应该只复制元素析构函数的调用而不释放指针指向的内存。此外`clear`函数内部也调用了`shrink_to_fit()`函数,该函数只是将duque中两头额外的缓冲区内存释放,而内部已使用过的缓冲区并不会释放。析构函数最后只释放了begin_所在缓冲区指针指向的内存空间,这样begin之后的缓冲区(如果存在)将不会被释放,这应该会导致内存泄漏。下面附上相关函数的代码,其中有些注释是我自己写上去的。 ```cpp // 清空 deque 主要操作是将deque中的全部元素析构,并将deque瘦身(删去前后未使用的空间)...