The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Выпуск ControlFlag 1.0, инструмента для выявления ошибок в коде на языке Си"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Заметили полезную информацию ? Пожалуйста добавьте в FAQ на WIKI.
. "Выпуск ControlFlag 1.0, инструмента для выявления ошибок в к..." +/
Сообщение от Урри (ok), 21-Ноя-21, 18:43 
Харош троллить детей.
Ты пишешь в однобитовое поле двойку, теряя все биты переполнения. Ясное дело в сравнение уйдет ноль. Об этом, кстати, компилятор прямо говорит:

warning: overflow in conversion from ‘int’ to ‘signed char:1’ changes value from ‘2’ to ‘0’

--
> если ты из указателя сделаешь bool, то ты рискуешь нарваться на ровно ту же самую проблему.

А ты не делай bool, потому что это не правильно. И компилятор тебе об этом тоже совершенно недвусмысленно скажет. То, что С позволяет тебе по желанию стрелять в ногу не значит что ты обязан это делать. Просто пиши if (my_pointer) и не будет никаких проблем.

_Bool x = (_Bool) &var;
warning: the address of ‘var’ will always evaluate as ‘true’

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Выпуск ControlFlag 1.0, инструмента для выявления ошибок в коде на языке Си, opennews, 19-Ноя-21, 16:42  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру