20 февраля состоится С++ Meetup Moscow #6

в 14:12, , рубрики: c++, mail.ru group, Блог компании Mail.Ru Group, Программирование

20 февраля состоится С++ Meetup Moscow #6 - 1

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

Описание докладов, ссылка на регистрацию и все детали по митапу под катом. Регистрируйтесь сами и приглашайте друзей!

Программа:

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 лет, чтобы научиться нормально объявлять константы.

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

Автор: s_egorov

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js