TGViewer
Библиотека C/C++ разработчика | cpp, boost, qt Библиотека C/C++ разработчика | cpp, boost, qt @cppproglib · 16.8K subscribers
Post #6875 557
⚙️ mdspan: один буфер, две раскладки

Шесть чисел можно представить матрицей 2×3 без копирования элементов. std::mdspan из C++23 связывает данные, размеры и способ преобразования индексов в смещение.

Для буфера 10, 20, 30, 40, 50, 60 раскладка layout_right идёт по строкам, layout_left — по столбцам. В проверенном примере индекс [1,1] даёт соответственно 50 и 40. Запись через один вид меняет тот же буфер, который виден другому.

Размеры и layout не управляют временем жизни данных. В этом примере обычный accessor работает с указателем на std::array, поэтому массив должен жить дольше представлений. Поддержку C++23 нужно проверить и у компилятора, и у стандартной библиотеки.

Устройство mdspan в P0009

📍 Навигация: Вакансии • Задачи • Собесы

#под_капотом
More from @cppproglib
  1. Oct 13, 2026👀 Как вы смотрите видео? Разбираете урок, слушаете интервью фоном или начинаете на телефо…
  2. Sep 15, 2026😭 Как не потратить недельный лимит AI-кодинга за три дня? Разберём на вебинаре, как трати…
  3. Sep 13, 2026🤪 Если бы можно было задать один вопрос про AI в разработке — что бы вы спросили? Как выб…
  4. Sep 13, 2026🤩 Inline static в классах — забудь про .cpp Сколько раз ты забывал добавить определение s…
  5. Sep 13, 2026🌸 Вселенная намекает: пора уже начать этот курс С 14 сентября цены в Proglib Academy выра…
  6. Aug 31, 2026❓Кто этот призрак в вашем коде: изучаем особенности работы с легаси на C++ Легаси — вот чт…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →