From 64d87cb5d4bfb7856daea51f8e7eee7ae9b6eda2 Mon Sep 17 00:00:00 2001 From: hugogogo Date: Fri, 17 Jun 2022 01:36:45 +0200 Subject: [PATCH] no more leaks in vector --- templates/vector.tpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/templates/vector.tpp b/templates/vector.tpp index 3a62a25..ef64107 100644 --- a/templates/vector.tpp +++ b/templates/vector.tpp @@ -52,7 +52,12 @@ VT_TPL VT:: } // destructors ------------------------------- VT_TPL VT:: - ~vector() { return; } + ~vector() { + + clear(); + _allocator.deallocate(_mem_ptr, _capacity); + return; +} // operator= --------------------------------- VT_TPL VT & VT:: operator=( vector const & rhs ) { @@ -152,15 +157,14 @@ VT_TPL void VT:: _capacity = new_cap; tmp_ptr = _allocator.allocate(new_cap); + _mem_ptr = tmp_ptr; if (_mem_ptr) { - _mem_ptr = tmp_ptr; _size = 0; assign(first, last); _destroy(begin(), end()); _allocator.deallocate(old_ptr, _capacity); } - _mem_ptr = tmp_ptr; }