# Modern C++ for C Programmers: Part 5

DevFeed: [Modern C++ for C Programmers: Part 5](<https://devfeed.tech/articles/modern-c-for-c-programmers-part-5-36326.md>)

Original publisher: [Read original article](<https://berthub.eu/articles/posts/cpp-5/>)

Published: 2018-07-25T09:26:51Z

Content type: tutorial

Language: en

Sources: [Bert Hubert's writings](<https://devfeed.tech/sources/bert-hubert-s-writings.md>)

Topics: [C++](<https://devfeed.tech/topics/c-plus-plus.md>), [C](<https://devfeed.tech/topics/c.md>), [Programming](<https://devfeed.tech/topics/programming.md>)

Tags: [algorithms](<https://devfeed.tech/tags/algorithms.md>), [c](<https://devfeed.tech/tags/c.md>), [c-plus-plus](<https://devfeed.tech/tags/c-plus-plus.md>), [code](<https://devfeed.tech/tags/code.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [containers](<https://devfeed.tech/tags/containers.md>), [gc](<https://devfeed.tech/tags/gc.md>), [memory-leaks](<https://devfeed.tech/tags/memory-leaks.md>), [modern](<https://devfeed.tech/tags/modern.md>), [programming](<https://devfeed.tech/tags/programming.md>)

## AI overview

Part 5 of a tutorial series for C programmers explains modern C++ memory-management techniques, including reference counting, std::move, copy elision, return value optimization, smart pointers, and garbage collection trade-offs.

## Source excerpt

Welcome back! In part 4 we went over the nitty-gritty of lambdas and how to store them, we explored the relation between the various C++ algorithms and containers, plus we took a stroll through some non-standard containers with exceptional capabilities. Note: part 1 is here. In this probably final part 5, we'll be going over some of the most powerful stuff in modern C++: "perfect" reference counting and the concept of std::move.