Что такое «[основной] язык неопределенного поведения», а не «неопределенное поведение»?C++

Программы на C++. Форум разработчиков
Anonymous
Что такое «[основной] язык неопределенного поведения», а не «неопределенное поведение»?

Сообщение Anonymous »

Herb Sutter refers to that in Peering Forward - C++’s Next Decade - Herb Sutter - CppCon 2024, and it stresses language several times (e.g. here), so I'd like to understand how to tell it apart from UB in general (not sure if I heard library undefined behavior in the same talk).

Is язык ub что -то вроде этого

Код: Выделить всё

int x = std::numeric_limits::max() + 1;
Потому что я вызываю UB, переполняя int , который не является библиотечным объектом, в отличие от чего -то подобного

Код: Выделить всё

std::vector v = getvec();
v[v.size()] = 3;
Где я делаю внебрачный доступ для библиотечной сущности, такой как std :: ecect ? (Ну, в конце я все еще переполняю int [] , хотя ...)

Подробнее здесь: https://stackoverflow.com/questions/796 ... d-behavior

Вернуться в «C++»