Вход на сайт

Просмотр новости

Найдите то, что Вас интересует

В C++ становится меньше UB

Дата публикации: 19-09-2026 15:46:11



Привет, чят!
В общем, сабж. Начиная с C++26 тривиальные бесконечные циклы больше не будут неопределённым поведением.
Пример такого цикла:
int main() {
while(true) ;
}
При этом, если в теле цикла содержится выражение или условие цикла не является константным выражением, приводимым к true, то такой цикл всё ещё будет вызывать неопределённое поведение программы:
int main() {
// UB
while(true) {
(void) "Hello LOR!";
}
}
int main() {
// UB
bool done = false;
while(!done) {}
}
int main() {
// Тоже UB
while (true) if constexpr (false) break;
}
И так далее. Как всегда, в C++ что-то починили, по сути ничего не починив. Так и живём, чят.
Ссылка с подробностями: https://www.sandordargo.com/blog/2026/09/16/cpp26-trivial-infinite-loops



 c++, undefined behaviour, страдания

Схожие новости

#Наименование новостиТональностьИнформативностьДата публикации
1[Перевод] Доверьтесь компилятору: C++23 против трюков из 90-х010.427-07-2026
2[Перевод] Доверьтесь компилятору: C++23 против трюков из 90-х010.427-07-2026
3С++: Пиши, сокращай, оптимизируй010.4123-07-2026
4С++: Пиши, сокращай, оптимизируй010.4123-07-2026
5const fn в 2026: ваш компилятор втихаря исполняет Rust09.5820-07-2026
6Почему C++ или Rust никогда не смогут заменить Python-15.9328-07-2026
7std::expected в C++23: гайд по миграции с исключений на функциональный error handling0707-07-2026
8Книга: «100 ошибок C++ и как их избежать»07.0103-06-2026
9Опухший C++ код08.6219-08-2026

Классификация: Мнения. Схожих патентов: 0. Схожих новостей: 9. Тональность: 0. Информативность: 8.55. Источник: www.linux.org.ru.