Re[4]: Когда это наконец станет defined behavior?
От: T4r4sB Россия  
Дата: 27.04.23 17:21
Оценка:
Здравствуйте, reversecode, Вы писали:

R>https://habr.com/ru/articles/680008/


Офигеть

Modifying a const object through a non-const access path and referring to a volatile object through a non-volatile glvalue results in undefined behavior.

То есть этот код содержит УБ?
int g=0;

int bar() {
  ++g;
  return g;
}

int foo(const int& a) {
  return a + bar() + a;
}

int main() {
  printf("%i\n", foo(g));
}
Нет такой подлости и мерзости, на которую бы не пошёл gcc ради бессмысленных 5% скорости в никому не нужном синтетическом тесте
Отредактировано 27.04.2023 17:22 T4r4sB . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.