CPPPROGLIB Telegram 5104
😱 Опасность устарела, неопределенность недопустима: undefined behavior в С++20/23/26

В современных стандартах С++ стало меньше UB. Разбираем на конкретных кейсах.

— Начиная с С++20 отрицательные целые числа обязательно должны быть представлены в дополнительном коде.
— Введение std::ssize, возвращающего знаковый размер контейнеров, уменьшает количество ошибок и UB в циклах.
— Расширение времени жизни временных объектов в циклах for, появившееся в С++23, решает неочевидные проблемы.
— Казалось бы, мелочь, но инициализация std::string нулевым указателем раньше была UB, a теперь запрещена.
— В С++23 появился эксклюзивный режим открытия файла (O_EXCL), что решает проблему гонок (time-of-check to time-of-use).

Некоторые конструкции языка признаются небезопасными и устаревшими, также проходимся по ним:
— Осталось ли что-то от volatile?
— Можно ли теперь делать неявный захват this по значению в лямбдах?
— Какие операции с enum теперь не в почете.

👉 Ссылка



tgoop.com/cppproglib/5104
Create:
Last Update:

😱 Опасность устарела, неопределенность недопустима: undefined behavior в С++20/23/26

В современных стандартах С++ стало меньше UB. Разбираем на конкретных кейсах.

— Начиная с С++20 отрицательные целые числа обязательно должны быть представлены в дополнительном коде.
— Введение std::ssize, возвращающего знаковый размер контейнеров, уменьшает количество ошибок и UB в циклах.
— Расширение времени жизни временных объектов в циклах for, появившееся в С++23, решает неочевидные проблемы.
— Казалось бы, мелочь, но инициализация std::string нулевым указателем раньше была UB, a теперь запрещена.
— В С++23 появился эксклюзивный режим открытия файла (O_EXCL), что решает проблему гонок (time-of-check to time-of-use).

Некоторые конструкции языка признаются небезопасными и устаревшими, также проходимся по ним:
— Осталось ли что-то от volatile?
— Можно ли теперь делать неявный захват this по значению в лямбдах?
— Какие операции с enum теперь не в почете.

👉 Ссылка

BY Библиотека C/C++ разработчика | cpp, boost, qt




Share with your friend now:
tgoop.com/cppproglib/5104

View MORE
Open in Telegram


Telegram News

Date: |

Telegram offers a powerful toolset that allows businesses to create and manage channels, groups, and bots to broadcast messages, engage in conversations, and offer reliable customer support via bots. fire bomb molotov November 18 Dylan Hollingsworth yau ma tei Hashtags are a fast way to find the correct information on social media. To put your content out there, be sure to add hashtags to each post. We have two intelligent tips to give you: Administrators The best encrypted messaging apps
from us


Telegram Библиотека C/C++ разработчика | cpp, boost, qt
FROM American