Showing posts fromresource management

Memory Resizing

So I never really considered why the resize of vector used a constant expansion of 1.5 or 2 (in some popular implementations). That was until I did my previous article series ["Vector"]({{config.site

Read More

Vector - Resize

Because resizing a vector is expensive, the `std::vector` class uses exponential growth to minimize the number of times that the vector is resized: a technique we replicate in this version. But every

Read More

Vector - Resource Management Allocation

Many new developers of C++ attempt to build a `Vector` like container as a learning process. Getting a simple version of this working for POD types (like int) is not that complicated. The next step i

Read More

Vector - Resource Management Copy Swap

In the previous article, I went over basic allocation for a `Vector` like class. In this article, I want to put some detail around the copy assignment operator and resizing the underlying `Vector`. U

Read More

Vector - Simple Optimizations

Now that we have used `std::is_nothrow_move_constructible,` we can also examine a couple of other types available in the template utility library. # Optimized Destruction Since we have to manually

Read More