События

С++ 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.

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

Документы для регистрации:

Пожалуйста, захватите с собой паспорт или водительские права для регистрации