Вопросы по теме 'undefined-behavior'

Знаковый сдвиг вправо = странный результат?
Я помогал кому-то с домашним заданием и столкнулся с этой странной проблемой. Проблема состоит в том, чтобы написать функцию, которая меняет порядок байтов целого числа со знаком (в любом случае, именно так функция была указана), и это решение,...
3831 просмотров

Неопределенное поведение с не виртуальными деструкторами — это реальная проблема?
Рассмотрим следующий код: class A { public: A() {} ~A() {} }; class B: public A { B() {} ~B() {} }; A* b = new B; delete b; // undefined behaviour Насколько я понимаю, в стандарте C++ говорится, что удаление b является...
578 просмотров
schedule 24.11.2023

Объединение с константой и неконстантным членом?
Это похоже на неопределенное поведение union A { int const x; float y; }; A a = { 0 }; a.y = 1; В спецификации говорится Создание нового объекта в том месте хранения, которое занимает константный объект со статической, потоковой...
2711 просмотров
schedule 11.11.2023

Временное и экспрессивное поведение
Является ли это четко определенным поведением? const char* p = (std::string("Hello") + std::string("World")).c_str(); std::cout << p; Я не уверена. Причины?
237 просмотров
schedule 15.09.2022

C/C++: это неопределенное поведение? (двумерные массивы)
Это неопределенное поведение, если я просматриваю элементы 2D-массива следующим образом? int v[5][5], i; for (i = 0; i < 5*5; ++i) { v[i] = i; } Опять же, он вообще компилируется? (Сейчас не могу попробовать, я не дома.) Если нет,...
1071 просмотров
schedule 03.10.2023

Что стандарт C ++ говорит о переполнении стека?
Я взглянул на черновик стандарта C ++ 0x, и, насколько я могу судить, там нет ничего о переполнении стека. Поиск «переполнения стека» не дал результатов, а поиск «стека» я получил только ссылки на раскручивание стека и std :: stack. Означает ли это,...
413 просмотров
schedule 07.10.2023

Зачем STL-структурам данных нужны полностью определенные типы
При поиске решения этого вопроса я обнаружил эта ветка на другом форуме , в котором говорится, что стандарт требует, чтобы все параметры шаблона для STL-Datastructure были полностью определены. Это означает, что создание структуры, которая...
278 просмотров
schedule 12.12.2022

Могу ли я привести пример из реальной жизни, когда нестатическая функция-член, не обращающаяся к объекту, вызываемому через нулевой указатель, вызывает наблюдаемые проблемы?
Возможный дубликат: Когда вызов функции-члена для нулевого экземпляра приводит к неопределенному поведению? Что-нибудь вроде этого: class Class { public: void Method() { //empty; } }; Class* object = 0;...
558 просмотров
schedule 08.01.2024

Что происходит, когда rep-префикс присоединяется к нестроковой инструкции?
Я попытался выяснить разницу в скорости между обычными циклами, циклами loop и встроенными циклами rep . Я написал три программы для сравнения поведения: Программа 1 _start: xor %ecx,%ecx 0: not %ecx dec %ecx jnz 0b...
3378 просмотров
schedule 04.07.2023

Вывод printf (%d %d, c++, c); тоже неопределенный?
Недавно я наткнулся на сообщение Каков правильный ответ для cout ‹‹ c++ ‹‹ c;? и задавался вопросом, будет ли вывод int c = 0; printf ("%d %d", c++, c); также не определен?? Я изучал в лекциях, что постфиксные и префиксные операторы...
5452 просмотров
schedule 26.09.2023

Доступ к неактивному члену союза и неопределенному поведению?
У меня создалось впечатление, что доступ к члену union , отличному от последнего набора, - это UB, но я не могу найти надежную ссылку (кроме ответов, утверждающих, что это UB, но без какой-либо поддержки со стороны стандарта). Итак, это...
21159 просмотров

Смущает неопределенное поведение оператора сдвига C ++ и обертка пространства шаблона
Меня смущает то, что я прочитал в разделе «Операторы сдвига» в статья о неопределенном поведении C ++ . В архитектуре ARM операторы сдвига всегда ведут себя так, как если бы они выполнялись в 256-битном пространстве шаблона, независимо от...
1047 просмотров
schedule 29.03.2022

Код работает только в том случае, если все переменные сначала установлены в 0. УБ?
Этот код дает сбой случайным образом, правильно идентифицируя одни числовые палиндромы и сбой на других. #include <stdio.h> int main(int argc, char *argv[]) { int n, reverse = 0, temp; printf("Enter a number to check if it is a...
279 просмотров
schedule 08.01.2024

Приводит ли структура T* к неопределенному поведению структуры C*, если первым полем T является C?
Пытаясь отладить проблему, с которой я столкнулся, используя Speex, я заметил, что он (ну, не только Speex, но и некоторый пример кода) делает следующее: Возвращает указатель на EncState из функции инициализации. Приведите этот указатель к...
294 просмотров
schedule 29.04.2022

Можно ли вернуть целое число, разыменовав указатель?
int f(int *x) { *x = 5; return *x; } int main() { int * y = 0; int z = f(y); } Почему этот код выдает ошибку времени выполнения?
323 просмотров
schedule 04.03.2022

Что вернет функция, если нет явного «возврата»
Я столкнулся с этой проблемой, когда забыл написать предложение return функции, но в gcc не было ни предупреждения, ни ошибки. Я исправил это, но начал задаваться вопросом, почему функция возвращает что-то бессмысленное без return . Вот...
2495 просмотров
schedule 03.05.2024

Почему определяется поведение беззнакового целочисленного переполнения, а подписанное целочисленное - нет?
Беззнаковое целочисленное переполнение хорошо определяется стандартами C и C ++. Например, стандарт C99 ( §6.2.5/9 ) состояния Вычисление с участием беззнаковых операндов никогда не может быть переполнено, потому что результат, который не...
50559 просмотров

Почему это неопределенное поведение?
Мой ответ на этот вопрос был следующей функцией: inline bool divisible15(unsigned int x) { //286331153 = (2^32 - 1) / 15 //4008636143 = (2^32) - 286331153 return x * 4008636143 <= 286331153; } На моей машине с компилятором...
2603 просмотров
schedule 10.03.2022

Пример оператора запятой в ansi c 1999 TC3
Когда я пытался выяснить, результат !0 определяется реализацией, ожидая, что он будет не равен нулю, я только что прочитал кое-что, что меня смутило. (Кстати, может ли это быть в некоторых реализациях -1 или 1 или это строго определено? Если...
124 просмотров
schedule 11.04.2023

Автоматическое закрытие приложения для Android с помощью Intent?
Я сделал простое приложение для начинающих с помощью Drawables и Intent. Идея состоит в том, чтобы выполнить четыре действия и с помощью потока перейти от одного к другому действию, и когда он дойдет до последнего действия, я хочу автоматически...
6974 просмотров