Around solid advantages: top 10 reports of the conference C ++ Russia 2019 Piter

C ++ requires a serious approach. Therefore, we believe that most pluses are serious professionals, and if you need to stay at home during the holidays, they will not go out to kebabs on secret paths, but will prefer to grow as specialists at this time. And such professionals at these holidays will benefit from our top 10 reports from the C ++ Russia 2019 Piter conference:



And one more great news! At the C ++ Russia 2020 Moscow conference , which will take place online soon, the legendary Bjarne Stroustrup will speak .

10th place:


“Under the hood of the standard C ++ library” - Pavel Novikov


Pavel revealed the nuances of implementing the standard C ++ library and demonstrated how the use of types and algorithms from the standard library can affect application performance.





9th place:


“The C ++ rvalue lifetime disaster” - Arno Schoedl


Arno spoke with a very important and dangerous topic - the lifetime of rvalue objects. They were introduced into the language to make memory management more efficient, but unexpected problems appeared: when passing an rvalue in the form of const & parameters and when temporarily extending the rvalue's lifetime. They lead to complex debugging corruption of application memory. Arno explains the essence of the problems and offers a solution using library code without changing the language.





8th place:


“A state of compile time regular expressions” - Hana Dusíková


Hana talked about the changes in the Compile Time Regular Expression (CTRE) library, about her new engine - Finite Automaton (FA) - and how good it is compared to the previous engine - Back Tracking.





7th place:


Compile time type tagging - Ivan Čukić


Ivan's reports on C ++ Russia are always very interesting and useful. At the last C ++ Russia 2019 Piter, he talked about the tagging technique in C ++. Be sure to check out the report if you don’t know what it is.





6th place:


“A unifying abstraction for async in C ++” - Eric Niebler


Eric's work on the ranges library has changed modern C ++. In his report, he explained why the future is so slow, what is an executor, what is common between coroutines and callbacks, and why does the abstraction “Task” fit well with all kinds of asynchronous algorithms.





5th place:


"Modern techniques for keeping your code DRY" - Björn Fahller


In his lecture at the conference, Björn Fuller collected various techniques of modern C ++, which allow writing simpler and more reliable code.





4th place:


“C ++ exceptions through the prism of compiler optimizations” - Roman Rusyaev


Roman Rusyaev demonstrated when it makes sense to build his application with -fno-exceptions, and when you can use C ++ exceptions, knowing that the code has not lost performance. Examples of implementation of exceptions and compiler optimizations are considered on the basis of LLVM.





3rd place:


“Type punning in modern C ++” - Timur Doumler


Timur talked about the techniques of type punning (type punning) that appeared in C ++ 20, as well as when and how you can use typing puns without risking causing undefined behavior (undefined behavior).

Timur also talked about important concepts in C ++: the lifetime of an object (object lifetime), its representation (object representation) and aliasing rules (aliasing rules).





2nd place:


“Specifiers, Qualifiers and Templates” - Mikhail Matrosov


In his speech, Mikhail answered questions such as: when is it worth specifying static and inline for a variable or function? const and constexpr? What about consteval and constinit? How does all this interact with templates?





1st place:


"C ++ Taxi Tricks - Anton Polukhin"


Closes the top best reports of C ++ Russia 2019 Piter by Anton Polukhin, which contains an atypical and effective solution to typical tasks:
- Pimpl pattern - but without dynamic allocations;
- Fast logging of user types - but, if possible, without std :: ostream and locales;
- Converting from JSON / XML / YAML / ... to user types - but with ADL and code reuse (almost overloading functions by return value).



-10 — , , , . . ++ Russia 2020 Moscow — . Bjarne Stroustrup — ! — .

All Articles