
Наконец-то выложили один доклад на C++Russia прошлого года, который я хотел бы всем порекомендовать.
Увы, на конференции в прошлом году было очень много шлака, не имеющего даже отношения к C++. И тем ценнее увидеть очень серьёзный и интересный доклад, в целом мирового уровня. Тем более от столь молодого спикера.
Итак, встречаем:
Сергей Добычин — constexpr-аллокатор для контейнеров стандартной библиотеки
https://www.youtube.com/watch?v=mwy15RAhl8I
2:55 Начало. Transient выделения памяти при компиляции. Невозможность non-transient в C++
8:45 Подробный разбор предложения P0639 по CE аллокатору
11:30 Проблемы с размером буфера
18:16 Двухэтапное определения размера буфера во время компиляции
20:40 Постановка задачи: как сделать чтобы CE аллокатор сам определял размер буфера? Общий вид решения.
23:13 Интересные детали реализации
27:45 Передача инициализирующего значения через типы (разбор P2781)
31:20 Завершение: QR код на полное решение в C++20 и примеры
34:08 Вопросы
Интересно в этом докладе также то, что я немного помог в его создании. До конференции Сергей обратился ко мне вот с таким кодом и спросил баг ли это в компиляторе.
https://godbolt.org/z/EcKhhGfzr
Я немного подумал и мы с ним вместе доминимизировали это до вот такого кейса.
https://godbolt.org/z/69PEPojzo
Тут проблема стала очевидной и стало очевидным, что она и впрямь в компиляторе.
После этого я зафайлил эту проблему в GCC и она до сих пор висит там и ждёт своего героя.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115233
Но пока не дождалась.
#talks
Увы, на конференции в прошлом году было очень много шлака, не имеющего даже отношения к C++. И тем ценнее увидеть очень серьёзный и интересный доклад, в целом мирового уровня. Тем более от столь молодого спикера.
Итак, встречаем:
Сергей Добычин — constexpr-аллокатор для контейнеров стандартной библиотеки
https://www.youtube.com/watch?v=mwy15RAhl8I
2:55 Начало. Transient выделения памяти при компиляции. Невозможность non-transient в C++
8:45 Подробный разбор предложения P0639 по CE аллокатору
11:30 Проблемы с размером буфера
18:16 Двухэтапное определения размера буфера во время компиляции
20:40 Постановка задачи: как сделать чтобы CE аллокатор сам определял размер буфера? Общий вид решения.
23:13 Интересные детали реализации
27:45 Передача инициализирующего значения через типы (разбор P2781)
31:20 Завершение: QR код на полное решение в C++20 и примеры
34:08 Вопросы
Интересно в этом докладе также то, что я немного помог в его создании. До конференции Сергей обратился ко мне вот с таким кодом и спросил баг ли это в компиляторе.
https://godbolt.org/z/EcKhhGfzr
Я немного подумал и мы с ним вместе доминимизировали это до вот такого кейса.
https://godbolt.org/z/69PEPojzo
Тут проблема стала очевидной и стало очевидным, что она и впрямь в компиляторе.
После этого я зафайлил эту проблему в GCC и она до сих пор висит там и ждёт своего героя.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115233
Но пока не дождалась.
#talks