В этот раз без внимания не остались темы:
- Рефлексия времени компиляции и оператор «монобровь»
- Constexpr, много constexpr
- SIMD
- Structured bindings as a pack
- Безопасность, контракты, libc++ hardening, профили, UB и std::launder
- Сколько бит в байте?
В этот раз без внимания не остались темы:
Свет видел много любительских реализаций std::tuple
, и реализация своих велосипедов — наверное, действительно действенный способ обучения: вряд-ли можно сказать, что ты что-то по-настоящему понимаешь, если не можешь объяснить, как это что-то устроено.
Многие пытливые умы на протяжении десятилетий задавались вопросом: как же реализован std::tuple
, как мне реализовать свой тупль (кортеж)? [1]
И немало было дано на эти вопросы ответов и написано статей ([2]). Однако я берусь утверждать, что все они имеют один Читать полностью »
На недавней встрече комитет C++ активно взялся за C++26. Уже есть первые новинки, которые нас будут ждать в готовящемся стандарте C++:
static_assert
,_
,std::to_string
,native_handle()
,*function*
,constexpr
,std::submdspan
,С момента моей прошлой публикации состоялось уже две встречи международного комитета по стандартизации C++.
Комитет занимался полировкой C++23:
static operator[]
;static constexpr
в constexpr
-функциях;std::print
с другими консольными выводами;std::expected
;static_assert(false)
и прочее.И прорабатывал новые фичи C++26:
std::get
и std::tuple_size
для агрегатов;#embed
;std::stacktrace
из исключений;Странно, что на Хабре до сих пор не было упомянуто о наделавшем шуму предложении к стандарту C++ под названием "Zero-overhead deterministic exceptions". Исправляю это досадное упущение.
Если вас беспокоит оверхед исключений, или вам приходилось компилировать код без поддержки исключений, или просто интересно, что будет с исключениями в C++2b (отсылка к недавнему посту), прошу под кат. Вас ждёт выжимка из всего, что сейчас можно найти по теме, и пара опросов.