Strategies for the Allocation of Memory

There a lot of different strategies for allocating memory. Programming languages like Python or Java request their memory from the heap at runtime. Of course, C or C++ has also a heap but prefers the stack. But this are by far not so only strategies for allocating memory. You can preallocate memory at the start time of the program as a fixes block or as a pool of memory blocks. This preallocated memory can afterwards used at the runtime of your program. But the key question is. What are the pros and cons of the various strategies to allocate memory?

Read more
Comments 2Views: 39095

Memory Management with std::allocator

What is common between all containers of the Standard Template Library? They have a type parameter Allocator that is by default std::allocator. The job of the allocator is it to manage the lifetime of its elements. That means to allocate and deallocate memory for its elements and to initialize and destruct them.

Read more
Comments 94Views: 43816

Improvements of this Blog

In my post Time for Wishes I asked: "How can I improved my blog?" And here are the answers.

Read more
Tags: memory
Add CommentViews: 4748

Overloading Operator new and delete 2

I overloaded in the last post operator new and delete. Therefore, it was possible to find memory leaks and get a first hint of the bad guys. My solution had two not so nice properties. With this post, I will overcome them.

Read more
Comments 4Views: 18706

Overloading Operator new and delete 1

It happens quite to often that a C++ application allocates memory but don't deallocate it. This is the job for operator new and delete. Thanks to them both you can explicitly manage the memory management of an application.

Read more
Add CommentViews: 41790

Explicit Memory Management

Explicit memory management has in C++ a high complexity but also provides a great functionality. Sad to say, but this special domain in not so known in C++. For example, you can directly create objects in static memory, in a reserved area, or even in a memory pool. That is functionality, that is often key in safety critical applications in the embedded world. Before the harvest is the work. Therefore, I will give in this post an overview, before I dive deeper into the details.

Read more
Comments 9Views: 12508

Garbage Collection - No Thanks

C++ is old fashioned. C++ has no garbage collection. No garbage collection? Right! Old fashioned? Wrong!

Read more
Tags: memory
Comments 2Views: 23861

Perfect Forwarding

Today, we solve " ... a herefore unsolved problem in C++" (Bjarne Stroustrup). To make the long story short, I will write about perfect forwarding.

Read more
Tags: move
Comments 48Views: 27881

Time for Wishes

I wrote more than 130 posts in my German blog about functional programming, embedded programming and multithreading programming with modern C++. My English blog will catch up in two months with my German one. Therefore, it's the right time to rework my blogs. The German blog and the English blog in parallel.

Read more
Comments 5Views: 5466

Move Semantic: Two nice Properties

I will talk about two nice properties of the move semantic in this post that are not so often mentioned. Containers of the standard template library (STL) can have non-copyable elements. The copy semantic is the fallback for the move semantic. Irritated? I hope so!

Read more
Tags: memory, move
Comments 3Views: 11902

My Newest E-Books

Course: Modern C++ Concurrency in Practice

Course: C++ Standard Library including C++14 & C++17

Course: Embedded Programming with Modern C++

Course: Generic Programming (Templates)

Subscribe to the newsletter (+ pdf bundle)

Blog archive

Source Code

Visitors

Today 511

All 2916307

Currently are 207 guests and no members online

Kubik-Rubik Joomla! Extensions

Latest comments