Результаты поиска по запросу "undefined-behavior"

3 ответа

В выражении удаления одного объекта, если статический тип удаляемого объекта отличается от его динамического типа, и выбранная функция освобождения (см. Ниже) не является оператором удаления, статический тип должен быть базовым классом динамический тип объекта, который должен быть удален, и статический тип должен иметь виртуальный деструктор, иначе поведение не определено.

месяцев назад я спросилэто [https://stackoverflow.com/questions/52180485/valgrind-shows-memory-leak-in-stdmake-unique] вопрос, где я спросил, почему произошла утечка памяти. Видимо, я забыл виртуальный деструктор. Теперь я пытаюсь понять, почему ...

1 ответ

... на две категории диалектов, одна из которых не подходит для целей, связанных с низкоуровневым программированием, а другая поддерживает только ограниченную оптимизацию. Согласно Обоснованию C, Дух C включает в себя принцип «Не мешайте программисту делать то, что необходимо сделать». Оптимизация, основанная на идее, что программист не будет делать X, полезна только в тех случаях, когда программисту не нужно делать X. К сожалению, большинство аргументов об определенных поведениях полностью теряют это из виду.

ожет удивить некоторых кодеров, и, как ни удивительно, это невозможно реализоватьstd::vector без нестандартной поддержки компиляторов. Проблема, по сути, заключается в способности выполнять арифметику указателей на сырой области хранения. ...

1 ответ

 представляет собой использование.

е говоря, считается ли следующий код неопределенным поведением? int main() { int *p = <some invalid pointer value>; }Для примера компиляции возьмите следующий код: int main() { int *p = new int; delete p; // Now p has an invalid pointer ...

ТОП публикаций

1 ответ

 позволяет очень осторожно убедиться, что никто еще не держит такую ​​ссылку. Я не собираюсь говорить «это невозможно», потому что люди продолжают удивлять меня (особенно в этом сообществе;), но я не могу придумать, как сделать эту работу. Мне было бы любопытно, если у вас есть пример, хотя вы думаете, что это разумно.

A ний вопрос [https://stackoverflow.com/q/50425910/155423]искал способность строить самообращающиеся структуры. При обсуждении возможных ответов на вопрос один потенциальный ответ включал ...

2 ответа

перешел в чат

я выполняю приведение типа Base к производному типу, но базовый тип не является экземпляром производного типа, а использует только результат, если он есть, получу ли я неопределенное поведение? Трудно понять, о чем я спрашиваю? взгляните на этот ...

3 ответа

@BenVoigt Да, "мог" подходит здесь лучше, статический член все еще член

возник вопрос о том, почему это работает, когда указатель повис. Ответы были, что это UB, что означает, что это может работать или нет. Я узнал из учебника, что: #include <iostream> struct Foo { int member; void function() { std::cout ...

4 ответа

Хотя разработчики компиляторов C настаивают на том, что для оптимизации необходим неограниченный UB, это было бы неверно для хорошо спроектированного языка вне некоторых узких обстоятельств.

современные компиляторы не достаточно умны, чтобы создавать быстрый и безопасный код одновременно? Посмотрите на код ниже: std::vector<int> a(100); for (int i = 0; i < 50; i++) { a.at(i) = i; } ... Очевидно, что ошибка вне диапазона никогда не ...

4 ответа

 и поэтому снимите чек

лкивался с нижеприведенной программой на C ++ (источник [https://ideone.com/7F88MV]): #include <iostream> int main() { for (int i = 0; i < 300; i++) std::cout << i << " " << i * 12345678 << std::endl; }Это похоже на простую программу и ...

2 ответа

 также признайте, что качественные реализации должны пытаться поддерживать функции, которые некоторые неясные системы не могут.

спользованиеsem_post () в обработчике сигнала полагаться на неопределенное поведение? /* * excerpted from the 2017-09-15 Linux man page for sem_wait(3) * http://man7.org/linux/man-pages/man3/sem_wait.3.html */ ... sem_t sem; ... static void ...

3 ответа

Определено ли поведение программы с неопределенным поведением на недоступном пути? [Дубликат]

На этот вопрос уже есть ответ: Может ли код, который никогда не будет выполняться, вызывать неопределенное поведение? [/questions/18385020/can-code-that-will-never-be-executed-invoke-u ndefined-behavior] 9 ответовРассмотреть возможност void ...