Telegram Group & Telegram Channel
Media is too big
VIEW IN TELEGRAM
Сергей Добычин — constexpr-аллокатор для контейнеров стандартной библиотеки

Одна из главных фич, которая выделяет С++ среди других языков — константные вычисления. С каждым новым стандартом языка поддержка константных вычислений становится все более продвинутой.

В С++ 20 появились аллокации памяти в constexpr-выражениях, и стало возможным использовать std::vector и std::string в константных выражениях.

Но есть одно но: использовать их можно только внутри constexpr, из constexpr-функции нельзя вернуть std::string или std::vector.

В докладе рассмотрели, как, используя только лишь возможности С++23, написать аллокатор, с помощью которого можно реализовать top-level constexpr std::string, std::vector и остальные контейнеры стандартной библиотеки.

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 Вопросы

источник

#cpp #programming

👉 @cpp_lib



tg-me.com/cpp_lib/1955
Create:
Last Update:

Сергей Добычин — constexpr-аллокатор для контейнеров стандартной библиотеки

Одна из главных фич, которая выделяет С++ среди других языков — константные вычисления. С каждым новым стандартом языка поддержка константных вычислений становится все более продвинутой.

В С++ 20 появились аллокации памяти в constexpr-выражениях, и стало возможным использовать std::vector и std::string в константных выражениях.

Но есть одно но: использовать их можно только внутри constexpr, из constexpr-функции нельзя вернуть std::string или std::vector.

В докладе рассмотрели, как, используя только лишь возможности С++23, написать аллокатор, с помощью которого можно реализовать top-level constexpr std::string, std::vector и остальные контейнеры стандартной библиотеки.

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 Вопросы

источник

#cpp #programming

👉 @cpp_lib

BY Библиотека C/C++ разработчика


Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283

Share with your friend now:
tg-me.com/cpp_lib/1955

View MORE
Open in Telegram


telegram Telegram | DID YOU KNOW?

Date: |

How to Use Bitcoin?

n the U.S. people generally use Bitcoin as an alternative investment, helping diversify a portfolio apart from stocks and bonds. You can also use Bitcoin to make purchases, but the number of vendors that accept the cryptocurrency is still limited. Big companies that accept Bitcoin include Overstock, AT&T and Twitch. You may also find that some small local retailers or certain websites take Bitcoin, but you’ll have to do some digging. That said, PayPal has announced that it will enable cryptocurrency as a funding source for purchases this year, financing purchases by automatically converting crypto holdings to fiat currency for users. “They have 346 million users and they’re connected to 26 million merchants,” says Spencer Montgomery, founder of Uinta Crypto Consulting. “It’s huge.”

NEWS: Telegram supports Facetime video calls NOW!

Secure video calling is in high demand. As an alternative to Zoom, many people are using end-to-end encrypted apps such as WhatsApp, FaceTime or Signal to speak to friends and family face-to-face since coronavirus lockdowns started to take place across the world. There’s another option—secure communications app Telegram just added video calling to its feature set, available on both iOS and Android. The new feature is also super secure—like Signal and WhatsApp and unlike Zoom (yet), video calls will be end-to-end encrypted.

telegram from tr


Telegram Библиотека C/C++ разработчика
FROM USA