C++ Moscow
447 subscribers
6 photos
66 links
Информационный канал московского сообщества программистов на C++

Чат: @cppmoscow_chat
Бот обратной связи: @cppmoscow_bot
Организатор: @eoanermine
Download Telegram
#meetup

Навигационный пост
для всех новых участников сообщества C++ Moscow

1. Подробности о ближайшем митапе
2. Регистрация на ближайший митап (если вы планируете посетить его очно, то регистрация обязательна)

Активности, запланированные на ближайший митап:

1. Бэкенд на плюсах для нормальных людей — доклад
2. std::expected. Обработка ошибок в C++23 — доклад
3. Викторина по мотивам C++ Quiz
4. Кушать снеки и пить напитки, просто хорошо пообщаться и провести время

И если вы хотите сделать этот список активностей краше — мы рады всем желающим выступить с мини-докладом продолжительностью до двадцати минут на любую тему, связанную с плюсами. Только свяжитесь с нами, и мы поможем вам на всех этапах: от подбора темы для выступления (если вы ещё с ней не определились) до подготовки красивой и ясной презентации.

Кроме того, если у вас есть идеи, как можно сделать наше мероприятие лучше (новые форматы, любые другие моменты) — предлагайте их в наш чат или личные сообщения.
Сделаем наш митап лучшим из доселе виданных вместе!
❤‍🔥1🔥1
C++ Moscow pinned «#meetup Навигационный пост для всех новых участников сообщества C++ Moscow 1. Подробности о ближайшем митапе 2. Регистрация на ближайший митап (если вы планируете посетить его очно, то регистрация обязательна) Активности, запланированные на ближайший митап:…»
#meetup

Наш первый митап состоится уже через две недели, 18 августа (Пт) с 17:30 до 20:00 по адресу Москва, 2-й Донской проезд, д. 9, стр. 3 (оффлайн + онлайн трансляция докладов)

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

Регистрируйтесь и приходите на нашу первую встречу, будет классно!
🔥6
std::expected. Обработка ошибок в C++23

Обработка ошибок в современном C++ представляет целый букет различных инструментов.
С одной стороны, у нас есть тысячи способов получения кодов ошибок (std::errno, out-параметры, просто возвращаемые значения).
С другой — исключения, запрещённые на ряде проектов и накладывающие ограничения на код и оптимизации.

В C++23 в этом наборе случилось пополнение. Нам дали std::expected. Тип, позволяющий совместить производительность кодов ошибок и надёжность исключений.
❤‍🔥4
C++ Moscow
#meetup Навигационный пост для всех новых участников сообщества C++ Moscow 1. Подробности о ближайшем митапе 2. Регистрация на ближайший митап (если вы планируете посетить его очно, то регистрация обязательна) Активности, запланированные на ближайший митап:…
До нашей первой встречи осталась всего неделя!

А значит, если вы планируете посетить ее очно, самое время на нее зарегистрироваться 😉
Без регистрации вы не сможете попасть на площадку, а зарегистрировавшись заранее, вы поможете нам: мы сможем точнее прикинуть планируемое количество участников, что для нас очень важно в плане планирования мероприятия.
❤‍🔥6
И вот уже пара дней осталась до нашей первой встречи! Напоминаем, что она пройдет 18 августа (Пт) с 17:30 до 20:00 по адресу Москва, 2-й Донской проезд, д. 9, стр. 3 (оффлайн + онлайн трансляция докладов)

Запланированные активности:

1. Бэкенд на плюсах для нормальных людей — доклад
2. std::expected. Обработка ошибок в C++23 — доклад
3. Викторина по мотивам C++ Quiz
4. Кушать снеки и пить напитки, просто хорошо пообщаться и провести время

Если вы планируете посетить мероприятие оффлайн, то вам необходимо зарегистрироваться на него по ссылке, иначе вы не сможете на него попасть.
Как доехать и как дойти до места нашей встречи от станции метро «Ленинский проспект» — по ссылке и на прикрепленной картинке.

Остались вопросы? Пишите в комментарии, на все ответим!
❤‍🔥5👍2
C++ Moscow
И вот уже пара дней осталась до нашей первой встречи! Напоминаем, что она пройдет 18 августа (Пт) с 17:30 до 20:00 по адресу Москва, 2-й Донской проезд, д. 9, стр. 3 (оффлайн + онлайн трансляция докладов) Запланированные активности: 1. Бэкенд на плюсах для…
#meetup

Наш митап уже завтра! Успейте зарегистрироваться, если хотите посетить встречу оффлайн — до конца регистрации осталось всего несколько часов!

И, вне зависимости от того, будете ли вы завтра на мероприятии оффлайн, давайте познакомимся.
Расскажите о себе и своем плюсовом опыте в комментариях: учитесь вы или работаете, в какой отрасли применяете плюсы на работе и в быту (hardware, game development, developer tools, прикладное ПО) и сколько уже лет вы с ними знакомы...
🔥2
C++ Moscow
И вот уже пара дней осталась до нашей первой встречи! Напоминаем, что она пройдет 18 августа (Пт) с 17:30 до 20:00 по адресу Москва, 2-й Донской проезд, д. 9, стр. 3 (оффлайн + онлайн трансляция докладов) Запланированные активности: 1. Бэкенд на плюсах для…
#meetup

Митап стартует уже через три часа
и мы ждём всех, кто успел на него зарегистрироваться.

17:30–20:00, Москва, 2-й Донской проезд, д. 9, стр. 3

Все дальнейшие обновления касательно нашей встречи будут публиковаться в комментариях к этому посту.
Так что заходите в наш чат, чтобы ничего не пропустить.
❤‍🔥1
Спасибо всем, кто посетил наш первый митап оффлайн и всем, кто ждал трансляции! К сожалению, по техническим причинам ее провести не удалось — однако, в течение недели доклады будут перезаписаны и опубликованы в хорошем качестве на нашем канале.

Не всё получилось идеально, но мы не намерены останавливаться на достигнутом. Мы проанализируем допущенные ошибки, чтобы наш второй митап прошел лучше, интереснее и полезнее (и точно с трансляцией 😉).

Ожидайте анонсов!
👍8❤‍🔥1🔥1
Записи докладов с прошедшей встречи теперь доступны на нашем канале!

1. Бэкенд на плюсах для нормальных людей — Данил Сидорук — C++ Moscow №0
2. std::expected. Обработка ошибок в C++ 23 — Илья Быконя — C++ Moscow №0

Кроме того, был размещен в публичный доступ репозиторий с кодом к вопросикам, которые были на прошедшей викторине.
А для быстрой навигации по всему этому добру был создан отдельный репозиторий.
👍6❤‍🔥3
C++ Moscow
Записи докладов с прошедшей встречи теперь доступны на нашем канале! 1. Бэкенд на плюсах для нормальных людей — Данил Сидорук — C++ Moscow №0 2. std::expected. Обработка ошибок в C++ 23 — Илья Быконя — C++ Moscow №0 Кроме того, был размещен в публичный доступ…
Доклады на какие темы вам было бы интересно послушать в следующий раз? Как можно было бы сделать доклады с предыдущей встречи лучше?

Помогите нам стать лучше и сформировать интересную программу для следующей встречи, поделитесь своим мнением через Яндекс.Формы!
👍4❤‍🔥3
#digest

Подборка самых интересных новостей и материалов из мира C++ за последние две недели (4 сентября – 17 сентября 2023)

Читать далее на Хабре
🔥2❤‍🔥1
#quiz #code

Каким будет результат выполнения программы ниже? Делитесь своими мыслями в комментариях! Правильный ответ и его объяснение будут опубликованы в 18:00 по Москве.

#include <iostream>

using namespace std;

template <typename T>
struct A {
static_assert(false);
};

int main() {
cout << 1;
}
👍3
Каким будет результат работы программы выше?
Anonymous Poll
3%
0
45%
1
37%
Compilation error
16%
Undefined behavior
#quiz #explanation

Обычно static_assert(false) вызывает ошибку компиляции, но в данном случае он используется в шаблоне, который нигде в программе не инстанцируется. Так что логично было бы ожидать, что в этом коде все хорошо и он выведет единицу. Однако, согласно C++20 и более ранним стадартам, поведение будет иным:

[temp.res.general#8]
The program is ill-formed, no diagnostic required, if:
— ...
— a hypothetical instantiation of a templated entity immediately following its definition would be ill-formed due to a construct that does not depend on a template parameter...

static_assert(false) не зависит от шаблонных параметров и, если бы мы инстанцировали класс A немедленно после его объявления, он бы всегда вызывал ошибку компиляции (то есть, был ill-formed). Так что наша программа, согласно стандарту C++20, является IFNDR (ill-formed, no diagnostic required) — то есть, ее поведение неопределено.

Но в C++23 формулировки были изменены:

[temp.res.general#6]
The program is ill-formed, no diagnostics required, if:
— ...
— a hypothetical instantiation of a templated entity immediately following its definition would be ill-formed due to a construct (other than a static_assert-declaration that fails) that does not depend on a template parameter

Появилось исключение из правил именно для static_assert, так что в C++23 данный код корректен. На экран будет выведено 1
👍3
#quiz #code

Каким будет результат выполнения программы ниже? Делитесь своими мыслями в комментариях! Правильный ответ и его объяснение будут опубликованы в 18:00 по Москве.

#include <initializer_list>
#include <iostream>

class C {
public:
C() = default;
C(const C&) { std::cout << 1; }
};

void f(std::initializer_list<C> i) {}

int main() {
C c;
std::initializer_list<C> i{c};
f(i);
f(i);
}
🔥2
Каким будет результат работы программы выше?
Anonymous Poll
36%
1
24%
11
30%
111
9%
Compilation error