Результаты поиска по запросу "undefined-behavior"
утверждают, что ни явно, ни неявно. Поправь меня, если я ошибаюсь.
р из реализации MSVC: #define offsetof(s,m) \ (size_t)&reinterpret_cast<const volatile char&>((((s *)0)->m)) // ^^^^^^^^^^^Как можно видеть, он разыменовывает нулевой указатель, который обычно вызывает неопределенное поведение. Это исключение из ...
Индексная переменная (_i) для циклов?
Взгляните на этот простой код: eat = (x) -> console.log "nom", x # dog only eats every second cat feast = (cats) -> eat cat for cat in cats when _i % 2 == 0 feast ["tabby cat" "siamese cat" "norwegian forest cat" "feral cat" "american bobtail" ...
или повысить способ:
int& fun() { int * temp = NULL; return *temp; }еупомянутом методе я пытаюсь разыменовать нулевой указатель. Когда я вызываю эту функцию, она не дает исключения. Я обнаружил, что когда возвращаемый тип по ссылке, он не дает исключения, если он по ...
http://www.codeproject.com/KB/system/soviet_kernel_hack.aspx
сно ISO C ++ разыменование нулевого указателя является неопределенным поведением. Мое любопытство, почему? Почему стандарт решил объявить это неопределенным поведением? В чем причина этого решения? Зависимость от компилятора? Не кажется, потому ...
подчеркивания. Оставьте это продавцам, чтобы сделать это сложным. Обязательно так, стандарт любопытный.
олагается, что эта быстрая сортировка сортирует «v [left] ... v [right] в порядке возрастания»; Скопировано (без комментариев) из языка программирования C от K & R (второе издание): void qsort(int v[], int left, int right) { int i, last; void ...
Если у вас есть указатель, который все еще находится в области видимости после удаления, вызванного через него, хорошей идеей будет установить его в nul. Таким образом, вы гарантированно получите какой-то сбой, если будете использовать его снова. Пока вы исследуете эту тему, взгляните на ССЫЛКИ и АВТОПОИНТЕРЫ, поскольку они могут спасти вам часть этого горя. (Kerrek SB прав в том, что деструктор вызывается слишком для типов объектов.)
му, чтобы лучше понять новое / удалить (на самом деле, чтобы доказать себе на небольших примерах, зачем нужны виртуальные деструкторы для интерфейсов), я хочу понять утечки памяти, чтобы жить в страхе перед ними. Но мне трудно, так сказать, ...
Программа не вылетала при переполнении буфера
Я хочу прочитать строку с клавиатуры и сохранить вbuf , Я установилchar buf[6] массив, этот массив не может хранить 5 символов и\0 . Тогда я печатаю123 456 789 он содержит 11 символов и\0 , программа все еще может работать, но если я наберу ...
@ Фред нет. они заменили его, потому что хотят изменить его на определенное поведение в долгосрочной перспективе (post-c ++ 0x) и хотели получить лучший пример неопределенного поведения.
я на самом деле не обращаюсь к разыменованному «объекту», разве разыменование нулевого указателя остается неопределенным? int* p = 0; int& r = *p; // undefined? int* q = &*p; // undefined?Несколько более практичный пример: можно ли разыменовать ...
Есть ли причина для отрицательного голосования?
отрим программу ниже char str[5]; strcpy(str,"Hello12345678"); printf("%s",str);При запуске эта программа выдает ошибку сегментации. Но когда strcpy заменяется следующим, программа работает нормально. strcpy(str,"Hello1234567");Поэтому вопрос ...
функция делает.
отрим следующий код: int a[25][80]; a[0][1234] = 56; int* p = &a[0][0]; p[1234] = 56;Вызывает ли вторая строка неопределенное поведение? Как насчет четвертой строки?