Watch: From Modern to Unbelievably Modern C++

From Modern to Unbelievably Modern C++ talk YouTube recording. All the reasons to migrate into a modern C++ standard version.

LConst PConst

const qualifier not always work the way we expect it to. In this article we will see some cases when the const doesn't protect us from modifications at all.

From Modern to Unbelievably Modern C++

From Modern to Unbelievably Modern C++ CoreC++ talk - experience summarize, and self opinions.

Into the Extreme – Fold-Expressions

Fold-expressions in the extreme. How do fold-expressions behave when there is no arguments? what about a single argument case?

The View of The String

std::string_view can optimize both performance and code readability in code sections which handle strings. However it can also lead to UB and to memory issues if used incorrectly.

explicit(To Be || !(To Be))

explicit(bool) C++20 feature discussion, motivation, usage example, proposal and more. Basic explanation about explicit and implicit conversions pros and cons.

The Mystery of The Missing Bytes

How to save bytes and alignment when containing some types inside a structure. Techniques to avoid wasting space on unique_ptr deleter and on another structures allocators like std vector or map. Taking into account Empty Base Optimization (EBO) and no_unique_address attribute sice C++20. Internal GCC and LLVM compilers implementations.

The Shared The Unique and The Weak – Initialization – Part 2

unique_ptr and weak_ptr constructors, initializers and usage examples. make_unique advantages and disadvantages. unique_ptr custom deleters usage examples and important notes to pay attention to.

The Shared The Unique and The Weak – Initialization – Part 1

Shared ptr allocations, initializations, and behind the scenes functionality. Constructors' usage summaries, the aliasing conatructor, make_shared & allocate_shared advantages and disadvantages.

The Shared, The Unique and The Weak

Smart memory management - the ability to maintain pointers "without worrying when they should be released" sounds really utopic, but is it really the entire truth about "smart pointers"?