This repository contains my solutions to tasks from C++ Red belt course
This course is a follow-up to the Fundamentals of C ++ Development: The Yellow Belt. The main goal of the course is to teach how to write efficient code in C ++. In addition, some C ++ features that were not included in the previous courses are considered.
The course covers:
- macros
- class templates
- principles of code optimization
- efficient use of I / O streams
- estimates of the complexity of algorithms
- memory model in C ++
- efficient use of linear containers (vector, deque, list, string)
- move semantics
- introduction to multithreaded programming
In addition, the course demonstrates how, using the knowledge of only the "White", "Yellow" and "Red" belts, to develop your own profiler.
Just like in the previous courses, there is a final project at the end. It would be strange, in the course from Yandex, not to ask you to create your own search engine! This is what you have to do in the final task.
The course was developed by leading Yandex specialists and teachers of the School of Data Analysis. They have years of development of search services, advertising and infrastructure behind them. In addition, the tasks were prepared by
- Yandex employees:
- Alexey Averchenko
- Daniil Petrov
- Konstantin Merenkov
- Alexey Zobnin
- Graduates of the "C ++ Yellow Belt":
- Boris Egorov
- Olga Marchevskaya
- Employee of the Institute of Informatics Problems of the Russian Academy of Sciences Oleg Yakovlev
Yevgeny Paramonov, a teacher of White and Yellow belts, took part in the creation of the lesson "Class templates".