Конференция C++ Russia
19-21 апреля 2018

лучших докладчиков
минут информации
для опытных

Конференция «C++ Russia» с блинами и матрёшками! Как всегда, лучшие докладчики
со всей страны на два дня. Конференция ориентирована на опытных разработчиков, никаких вводных лекций!

Место проведения: Санкт-Петербург, ул. Кораблестроителей, 14, гостиница Прибалтийская.

В течение года сообщество проводит встречи в разных городах России: Москве, Санкт-Петербурге, Новосибирске, Екатеринбурге, Нижнем Новгороде, Саратове.
На встречах выступают докладчики из разных городов и стран.

Открывать конференцию будет Jon Kalb, разработчик с 25-летним стажем
В течение этого времени успел поработать в Amazon, Microsoft, Netscape,
Yahoo и других компаниях. Jon -- организатор конференции CppCon. Автор книги
C++ Today: The Beast is Back.


Track C
17:00 - 18:00
Павел Булатов
Павел Булатов
Переход на WebAssembly: стоит ли игра свеч?

В докладе пойдет речь о современном состоянии WebAssembly применительно к реальным продуктам. Мы расскажем о нашем опыте портирования приложения, о том, какие проблемы при этом возникли и как мы их решили.

Будут затронуты темы: • Поддержки стандарта на разных платформах и браузерах. • Производительности и размера сборки в сравнение с asm.js. • Взаимодействия с браузером. • Сборки крешей с пользователя. • Особенностей VM.

Track A
18:00 - 19:00
Andrei Alexandrescu
Andrei Alexandrescu

Optimization — making code faster — is an essential ingredient of modern computing. The speed of light is limited, so we're unable to increase computer clock speed anymore; in other news, the matter is composed of discrete atoms so we can't make circuits much smaller than they already are. That means more speed for essential tasks — ranging from speech recognition to self-driving cars to General Artificial Intelligence — is to be found in people's minds.

This talk discusses, with simple examples, a few algorithm design principles that can be applied consistently to improve, or sometimes entirely redesign, algorithms for better performance.

Track C
13:45 - 14:45
Сергей Васильев
Сергей Васильев
Статический анализ: ищем ошибки... и уязвимости?

Новости об очередной найденной уязвимости регулярно всплывают то тут, то там. Сопутствующие потери $, как правило, колоссальны. Поэтому вместо исправления уязвимостей, следует не допускать их появления.

Один из способов борьбы с ошибками в коде – использование статического анализа. Но насколько он подходит для поиска уязвимостей? И так ли велика разница между простыми ошибками и уязвимостями с точки зрения кода?

Эти вопросы мы и обсудим в ходе доклада, а заодно поговорим о том, каким образом использовать статический анализ так, чтобы извлечь из него максимум пользы.

Slides in pptx

Track A
10:00 - 12:00
Jon Kalb
Jon Kalb
C++ Today: The Beast is Back

This talk will cover why engineers looking for performance choose C++. Jon will present an historical perspective of C++ focusing on what's going on in the C++ community right now and where the language and its user base is heading. With a renewed interest in performance for both data centers and mobile devices, and the success of open source software libraries, C++ is back and it is hot. This talk will explain why C++ is most software engineers' go-to language for performance. You will receive a rough historical sketch that puts C++ in perspective and covers its popularity ups and downs.

This talk is based, in part, on the book "C++ Today: The Beast is Back" published by O'Reilly.

Slides in pdf

Track A
16:00 - 17:00
Viktor Kirilov
Viktor Kirilov
Interactive C++ Compilation (REPL): The Lean Way

Ever wanted to modify some value or execute some statement while your C++ program is running just to test something out - not trivial or possible with a debugger? Scripting languages have a REPL (read-eval-print-loop). The closest thing C++ has is cling (developed by researchers at CERN) but it is built on top of LLVM and is very cumbersome to set up. RCRL (Read-Compile-Run-Loop) is a demo project showcasing an innovative approach to doing runtime C++ compilation in a platform and compiler agnostic way which can be easily embedded. In this presentation we will see how to use it, how it works and how it can be modified and integrated into any application and workflow.

Slides in pdf

Track A
17:00 - 18:00
Victor Ciura
Victor Ciura
Enough string_view to hang ourselves

Wouldn’t it be nice if we had a standard C++ type to represent strings ? Oh, wait... we do: std::string. Wouldn’t it be nice if we could use that standard type throughout our whole application/project ? Well… we can’t ! Unless we’re writing a console app or a service. But, if we’re writing an app with GUI or interacting with modern OS APIs, chances are that we’ll need to deal with at least one other non-standard C++ string type. Depending on the platform and project, it may be CString from MFC or ATL, Platform::String from WinRT, QString from Qt, wxString from wxWidgets, etc. Oh, let’s not forget our old friend const char*, better yet const wchar_t* for the C family of APIs…

So we ended up with two string types in our codebase. OK, that’s manageable: we stick with std::string for all platform independent code and convert back-and-forth to the other XString when interacting with system APIs or GUI code. We’ll make some unnecessary copies when crossing this bridge and we’ll end up with some funny looking functions juggling two types of strings; but that’s glue code, anyway… right?

It’s a good plan... until our project grows and we accumulate lots of string utilities and algorithms. Do we restrict those algorithmic goodies to std::string ? Do we fallback on the common denominator const char* and lose the type/memory safety of our C++ type ? Is C++17 std::string_view the answer to all our string problems ?

We’ll try to explore our options, together, with a case study on a 15 year old Windows application: Advanced Installer (www.advancedinstaller.com) - an actively developed C++ project, modernized to C++17, thanks to clang-tidy and “Clang Power Tools” (www.clangpowertools.com).

Slides in pdf


Первый день конференции 19 апреля -- это день мастер-классов. Вы можете посетить один четыре мастер-классов на ваш выбор. Обратите внимание: два мастер-класса проходят на английском языке. Мастер-класс это практическое занятие под руководством опытного программиста. Для работы вам понадобится ноутбук, более подробные требования есть в описании каждого мастер-класса. На этот день продаётся отдельный билет.

track atrack btrack ctrack d
09:00 - 10:00 Регистрация
10:00 - 12:00 Jon KalbC++ Today: The Beast is Back
12:00 - 12:45 Кофе-брейк
12:45 - 13:45 Arno SchödlFrom Iterators To Ranges — The Upcoming Evolution Of the Standard Library Borislav StanimirovDynaMix: A New Take on Polymorphism Дмитрий БанщиковРазделяемые библиотеки без внешних зависимостей Фёдор КороткийПамять – идеальная абстракция
13:45 - 14:45 Jonathan Boccara105 STL Algorithms in Less Than an Hour Mikhail MatrosovVersatile C++ applied Сергей ВасильевСтатический анализ: ищем ошибки... и уязвимости? Алексей СалминMemory Management Tips & Tricks
14:45 - 16:00 Обед
16:00 - 17:00 Viktor KirilovInteractive C++ Compilation (REPL): The Lean Way Александр ГранинФункциональный подход к Software Transactional Memory Илья ШишковКак научить языку C++: опыт создания курсов на Coursera Herb SutterNew in C++20: The spaceship operator (operator<=>)
17:00 - 18:00 Victor CiuraEnough string_view to hang ourselves Вадим ВинникCollection Processing. Single essence, multiple manifestations Иван ПономарёвCrash репорты Android NDK Анастасия КазаковаОтладка кода на C++, без запуска и компиляции
18:00 - 19:00 Andrei AlexandrescuFastware


В этом году наших слушателей ждут
полезные мастерклассы, а для тех, кто не может приехать на
конференцию, мы как всегда организовали онлайн трансляцию. Присоединяйтесь!

Как всегда действует студенческая программа.
Для получения скидки пишите на

Входной билет

Посещение основной программы конференции 20-21 апреля


Однодневный интенсив, практика, индивидуальная работа. Необходим ноутбук.


Просмотр любого доклада. Записи докладов доступны в течение двух месяцев.

Ужин с докладчиками

Горячая пища и общение с докладчиками в неформальной обстановке. 20 апреля в 20.00

Купить билет

Перейтик заказу билетов

Platinum спонсор

Gold спонсоры

Silver спонсоры

Community спонсоры


Место проведения: Санкт-Петербург, ул. Кораблестроителей, 14, гостиница Прибалтийская.

Если у Вас есть вопросы,
их можно задать по телефону или почте

+7 (905) 292-77-13