Home
Sandor Dargo's Blog
Cancel

Special functions and binary sizes

These months, I try to better understand how our code affects binary sizes. Last week, we had a look into storage durations and memory allocations. This week, let’s have a look into special member ...

Deep vs shallow modules

I keep telling that I don’t post negative book reviews. It’s because no matter how much I dislike a book, I can be pretty sure that the author made a huge effort writing it. I have absolutely no re...

Object initialization and binary sizes

Let’s have this piece of code that generates a big binary. #include <array> struct Node { int a = 1, b = 1; }; std::array <Node, 10'000> a; int main() {} If you compile this p...

What's an executable and how is it structured

In this post, let’s have a look at how executables are generated, what are the most important executable formats and how they are structured. How executables are generated? In this section let’s ...

The run-time, compile-time, binary size triangle

Often we start software development, we only care about writing some code. Or actually about writing the most amount of code that is possible. We often don’t really know how to build C++ files, but...

The 8 best books I read in 2022

There is barely any day for me without reading a book. On days when I can’t read I really miss it. Sadly there were quite a few such days lately. It feels bad. It feels like my mind is hungry. When...

2022: Another great year!

It’s such a cliché to say that the year was busy. But it was. Probably it’d be better to say it was incredibly fruitful, even though I didn’t meet many of the goals I set for this year. Anyway, it...

Class templates versus constructor templates

I realized that this simple but important difference should be covered twice during the last year. Once when I wrote about how shared and unique pointers take their deleters, and once when I read T...

C++ Software Design by Klaus Iglberger

The first time I - virtually - met Klaus was at C++ On Sea, I think in 2020. He held a workshop about modern software design which I managed to partially attend. He spoke in a slow and friendly man...

C++23: attributes

C++11 introduced attributes. Even though the language itself only came with two ([[noreturn]] and [[carries_dependency]]), it also provided the unified standard syntax for *implementation-defined l...