170 похожих чатов

Это правда что из плюсов хотят убрать ub? Или это

лишь слух

41 ответов

22 просмотра

Какой из? там их не одна штука

Pity- Автор вопроса
Stas Koynov
Какой из? там их не одна штука

Точно не могу сказать... Доклад называется Purging Undefined Behavior & Intel Assumptions in a Legacy C++ Codebase - Roth Michaels CppCon 2022

Каждый год убирают, но только на один день

Pity
Точно не могу сказать... Доклад называется Purging...

Соответственно все программы написанные и главное скомпилированный в этот Благодатный день работают без UB. Но есть одна проблема: в программе не должно быть ни одной ошибки, иначе когда люди обнаруживают ошибку, начинает передкончилокомпилировать - А 1 апреля уже кончилось

Pity
Точно не могу сказать... Доклад называется Purging...

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

Dmitriy [Отпуск]
А что тут не так?🤔

Это программа пикапера, пока пиздюлей за UB не отхватит будет пробовать

Anatoly Shirokov
Это программа пикапера, пока пиздюлей за UB не от...

Для некоторых случаев подойдёт. Например сервер, датчики

Anatoly Shirokov
к сожу, от UB этот код не защищает

Даже если все исключительные ситуации прочеканы на испытаниях?

Есть какие-то попытки убрать UB при чтении неинициализированных локальных переменных

Mikail Bagishov
Есть какие-то попытки убрать UB при чтении неиници...

А в чем тут UB? В той переменной будет случайный набор битиков.

Viktor Chyzhdzenka
А в чем тут UB? В той переменной будет случайный н...

Вычислять его (читать) считается неопределенностью, кроме как в ряде случаев с байтоподобными типами.

Sergey Anisimov
int f ( ) { int i; return i; }

ты же возвращаешь локальную переменную. Это уже о другом, а не о том, что ты выше написал.

Viktor Chyzhdzenka
Покажи пример.

int f(bool b) { unsigned char c; unsigned char d = c; // OK, d has an indeterminate value int e = d; // undefined behavior return b ? d : 0; // undefined behavior if b is true } http://eel.is/c++draft/basic.indet#example-1

Viktor Chyzhdzenka
ты же возвращаешь локальную переменную. Это уже о ...

Там бы не было проблемы, будь оно инициализировано: int f ( ) { int i{}; return i; }

Не ошибся. Всё будет нормально - вернет нечто случайное, но как генератор случайных чисел такое делать не нужно.

Vlad
int f(bool b) { unsigned char c; unsigned char...

Тоже в упор не вижу никаких проблем, кроме того, что получишь в результате некое случайное значение.

Sergey Anisimov
Сможете это объяснить, в таком случае?

Не могу. Но аналогичное в С работает ожидаемо мною. Значит я уже сильно отстал от современных С++ и они уже в корне не совместимы с С.

Viktor Chyzhdzenka
Не ошибся. Всё будет нормально - вернет нечто случ...

чего ты рогом уперся? программа с UB может взорвать твой холодильник. а ты как фома неверующий рассуждаешь об UB

Anatoly Shirokov
чего ты рогом уперся? программа с UB может взорват...

В холодильнике еще долго будет старый и надежный С. Эмбедры очень не любят С++.

Anatoly Shirokov
ты так говоришь, что C защищен от UB

Нет, но там они достатоно однозначны.

Viktor Chyzhdzenka
Нет, но там они достатоно однозначны.

нет однозначного UB, в этом фишка. все твои рассуждения о примерном поведении программы разбиваются о скалы оптимизирующих компиляторов

Anatoly Shirokov
нет однозначного UB, в этом фишка. все твои рассуж...

И своей избыточной оптимизацией сломали главный принцип С и С++.

Viktor Chyzhdzenka
Не могу. Но аналогичное в С работает ожидаемо мною...

С или не C, в LLVM IR br на undef это UB, и один из пассов просто выкидывает этот код даже в С99 режиме https://godbolt.org/z/K33nMEnqM

Viktor Chyzhdzenka
И своей избыточной оптимизацией сломали главный пр...

Не пишите говнокод с UB - не будет "избыточной" оптимизации

Viktor Chyzhdzenka
И своей избыточной оптимизацией сломали главный пр...

короче, хочешь потрепать языком велкам в @fludpac, а генофонд нации не отравляй идеями о том что есть хороший понятный UB старый и ламповый

Viktor Chyzhdzenka
Нет, но там они достатоно однозначны.

Ну да, например, выход за границы массива. Однозначно будет задница.

Похожие вопросы

Обсуждают сегодня

Какой-то там пердун в 90-х решил, что есть какая-то разная типизация. Кого вообще это волнует?
КТ315
49
void terminal_scroll() { memmove(terminal_buffer, terminal_buffer + VGA_WIDTH, buffer_size - VGA_WIDTH); memset(terminal_buffer + buffer_size - VGA_WIDTH, 0, VGA_WIDTH); ...
Егор
47
Всем привет! Подскажите, пожалуйста, в чем ошибка? Настраиваю подключение к MySQL. Либы лежат рядом с exe. Все как по "учебнику"
Евгений
16
А можете как-то проверить меня по знаниям по ассемблеру?
A A
132
Здравствуйте! У меня появилась возможность купить книгу "Изучай Haskell во имя добра!". Но я где-то слышал, что эта книга устарела. Насколько это правда??
E
22
Здравствуйте! Я вот на stepic решаю задачи на хаскеле https://stepik.org/lesson/8443/step/8?unit=1578 мой код import Data.List (isInfixOf) removing :: String -> [String] ->...
E
10
Камрады, кто тесно работал с vtv, хотел уточнить. Ширина column задаётся жёстко на этапе создания дерева или можно в рантайме ее менять программно (не мышкой)?
Ed Doc
10
да ладно ... что там неочевидного ? глянуть в исх-ки датасета и/или кверика чтобы понять в каком месте и как выполняется обращения к св-вам blablaSQL - минутное дело, даже е...
Сергей
7
Здесь для arm кто-нибудь кодит ?
Nothing
52
Всем привет, у меня есть сервер принимающий входящие HTTP подключения, как проверить, что подключение было через прокси или нет, есть какие то поля в заголовках по которым мо...
Кибер Бомж
8
Карта сайта