From 4ee7718ef2032c46fafe787c918e805449429573 Mon Sep 17 00:00:00 2001 From: zouxiaohang <1210603696@qq.com> Date: Fri, 25 Dec 2015 12:50:25 +0800 Subject: [PATCH] shrink_to_fit bug fix --- TinySTL/Detail/Vector.impl.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/TinySTL/Detail/Vector.impl.h b/TinySTL/Detail/Vector.impl.h index d2cb2e8..186d421 100644 --- a/TinySTL/Detail/Vector.impl.h +++ b/TinySTL/Detail/Vector.impl.h @@ -226,7 +226,12 @@ namespace TinySTL{ } template void vector::shrink_to_fit(){ - dataAllocator::deallocate(finish_, endOfStorage_ - finish_); + //dataAllocator::deallocate(finish_, endOfStorage_ - finish_); + //endOfStorage_ = finish_; + T* t = (T*)dataAllocator::allocate(size()); + finish_ = TinySTL::uninitialized_copy(start_, finish_, t); + dataAllocator::deallocate(start_, capacity()); + start_ = t; endOfStorage_ = finish_; } template