С++ Meetup Moscow #6 in Mail.ru Group

20
февраля 2020 года
Начало события в 18:00

О мероприятии

20 февраля в офисе Mail.ru Group состоится встреча С++ User Group.

На мероприятии расскажут про инновационные подходы к IPC в лице Mojo, являющегося частью фреймворка Chromium, — Mojo позволяет удобно строить IPC между процессами. И  даже теми, в которых запущены приложения на других языках: C#/Java и др. Затем мы послушаем истории про std::initializer_list и как с ними непросто жить. А в заключение узнаем, что нам потребовалось почти 20 лет, чтобы научиться нормально объявлять константы.

Ждём всех на meetup!

Mojo (IPC от Chromium) в сторонних приложениях

Илья Санеев, руководитель C++ разработки, Mail.ru Group

Алексей Кузнецов, C++ программист, Mail.ru Group

Mojo — IPC кросс-платформенный инструмент (набор библиотек) в составе проекта Chromium. Mojo реализует передачу и получение сообщений между процессами и поддерживает такие языки, как C++, Java, JavaScript. Формат сообщений описывается языком генерации интерфейсов (MIDL) — The mojom Interface Definition Language. 

Несмотря на то что Mojo не позиционируется как отдельное решение для организации IPC, есть возможность  применять его в сторонних, не связанных с Chromium, приложениях. А это позволяет рассмотреть Mojo как отдельный фреймворк и показать его применимость.

 

std::initializer_list — былинный отказ проектирования

Павел Новиков, Align Technology

На поверхности всё выглядит достаточно просто: std::initializer_list — это «лёгкая обёртка» массива элементов, встроенная в язык C++. Но чем глубже копаешь, тем больше кажется, что здесь что-то не так...

Universal initialization, auto, конструкторы, инициализация агрегатных типов с помощью скобок () — попробуем разобраться в деталях всего этого и понять, как нам с этим жить.  


 

Спецификаторы, квалификаторы и шаблоны 

Михаил Матросов, Align Technology

Уже в С++98 у нас были const, volatile, static, extern, inline и, конечно, шаблоны. В С++11 добавились thread_local, constexpr, а также extern для шаблонов. В С++14 — шаблоны переменных, в С++17 — inline переменные. В С++20 обещают подвезти consteval и constinit. А вы когда-нибудь задумывались, что такое template static inline thread_local constexpr const volatile переменная?

В докладе Михаил попытается разложить по полочкам всё это многообразие ключевых слов. Вспомним про linkage, storage duration и инстанциации шаблонов (и что изменится с приходом модулей в С++20). Разберемся, какая связь между template и inline, между static и constexpr. Поймем, зачем нам extern, когда у нас есть inline. И осознаем, что нам потребовалось почти 20 лет, чтобы научиться нормально объявлять константы.

 

Сбор участников и регистрация: 18:00.

Начало программы: 19:00.

Адрес: офис компании Mail.ru Group, Ленинградский проспект, 39, стр. 79.

Участие в мероприятии бесплатное, регистрация обязательна. Мы прекратим прием заявок, когда закончатся места. Для тех, кто не сможет присутствовать лично, будет организована прямая трансляция на нашем канале Технострим

Поделиться
20
февраля 2020 года
Начало события в 18:00