# Modern C++: Demystifying Value Categories in C++ (lecture 2)

- Institution: CERN
- Department: Inverted CSC
- Speaker: Nis Meinert
- Year: 2020
- Language: English
- Subjects: Computer science
- Source: [CERN](https://videos.cern.ch/record/3010850)
- Licence: [CERN](http://copyright.web.cern.ch)
- Who can watch: Tweens profiles and older (sources give no ratings; placed by Invisible Network from the source's own words)

Value categories are omnipresent in today's C++ code bases. Since the advent of move semantics the field continuously becomes wider and knowing terms such as lvalue and rvalue only from compiler error messages is not enough anymore.

I will present an overview about C++ value categories and decay rules, the subtle difference between pointers and references, explain why neither std::move moves nor std::forward forwards values, and talk about implication on related topics such as RVO..

0:06:25 Slide 1

0:12:50 Slide 2

0:19:15 Slide 3

0:25:40 Slide 4

0:32:06 Slide 5

0:38:31 Slide 6

0:44:56 Slide 7

0:51:21 Slide 8

0:57:46 Slide 9

1:04:12 Slide 10

## Lectures

1. [Modern C++: Demystifying Value Categories in C++ (lecture 2)](https://invisiblenetwork.ai/learn/cern/3010850/c50aaa0f2a4b), 1 h 5 min (CERN's player)
