Здравствуйте, ZooN, Вы писали:
ZN>почему при такой записи ZN> if(m_EnableCheck == true) ZN>компилятор выдает warning, ZN>а при такой ZN> if(m_EnableCheck == TRUE) ZN>все ОК. ZN>в чем разница и что лучше?
Потому что BOOL & bool совершенно разные вещи. BOOL — это обычный long. А bool — это встроенный тип.
Здравствуйте, ZooN, Вы писали:
ZN>почему при такой записи ZN> if(m_EnableCheck == true) ZN>компилятор выдает warning, ZN>а при такой ZN> if(m_EnableCheck == TRUE) ZN>все ОК. ZN>в чем разница и что лучше?
У m_EnableCheck тип не bool, а BOOL
Это разные вещи
елси не ошибаюсь, то bool это: enum(false,true), а BOOL в каком-то роде int
ZN>почему при такой записи ZN> if(m_EnableCheck == true) ZN>компилятор выдает warning, ZN>а при такой ZN> if(m_EnableCheck == TRUE) ZN>все ОК. ZN>в чем разница и что лучше?
Всегда лучше писать так:
if(m_EnableCheck)
а если проверяешь на false то так:
if(!m_EnableCheck)
Вопрос же твой свидетельствует о том, что тебе не повредит выполнить десяток упражнений на работу с логическими переменными.
Здравствуйте, ZooN, Вы писали:
ZN>почему при такой записи ZN> if(m_EnableCheck == true) ZN>компилятор выдает warning, ZN>а при такой ZN> if(m_EnableCheck == TRUE) ZN>все ОК. ZN>в чем разница и что лучше?
И еще, имхо, красивее писать просто
if (m_EnableCheck)
Здравствуйте, Bell, Вы писали:
B>Здравствуйте, Calc, Вы писали:
B>...
C>>елси не ошибаюсь, то bool это: enum(false,true), а BOOL в каком-то роде int
B>Ошибаешься
Поправьте меня если я не так думаю: B>BOOL — это не что иное как B>
B>typedefint BOOL;
B>
А typedef только даёт новое имя существующему типу, так что я тут не ошибся!
B>bool — это встроенный тип С++, а никакой не enum.
Ну насчёт этого мог и ошибиться.
Здравствуйте, Calc, Вы писали:
C>Поправьте меня если я не так думаю:
... C>А typedef только даёт новое имя существующему типу, так что я тут не ошибся!
ИМХО фразы "BOOL в каком-то роде int" и "BOOL — это синоним int" все-таки различаются.
B>>bool — это встроенный тип С++, а никакой не enum. C>Ну насчёт этого мог и ошибиться.
Почему мог?
Здравствуйте, Bell, Вы писали:
B>Здравствуйте, Calc, Вы писали:
C>>Поправьте меня если я не так думаю: B>... C>>А typedef только даёт новое имя существующему типу, так что я тут не ошибся! B>ИМХО фразы "BOOL в каком-то роде int" и "BOOL — это синоним int" все-таки различаются.
B>>>bool — это встроенный тип С++, а никакой не enum. C>>Ну насчёт этого мог и ошибиться. B>Почему мог?
А это уже Русский язык
Мог, потому что в прошедшем времени, теперь не ошибусь
Но подобную конструкцию я всё же где то встречал, но где
Здравствуйте, ZooN, Вы писали:
ZN>почему при такой записи ZN> if(m_EnableCheck == true) ZN>компилятор выдает warning, ZN>а при такой ZN> if(m_EnableCheck == TRUE) ZN>все ОК. ZN>в чем разница и что лучше?
пиши всегда
if(((((((m_EnableCheck==TRUE)==true)==true)==true)==true)==true))
Здравствуйте, Bell, Вы писали:
B>Здравствуйте, Calc, Вы писали:
B>...
C>>елси не ошибаюсь, то bool это: enum(false,true), а BOOL в каком-то роде int
B>Ошибаешься B>BOOL — это не что иное как B>
Здравствуйте, maloyDS, Вы писали:
DS>А вообще нашиша это надо? В смысле вводить BOOL, когда был bool
Иногда функции винды в случае успеха возвращают не 0.
А в случае неудачи возвращают 0.
Вот:
BOOL bResult = ... // наша функция
Так как bool встроенный тип, то его не используют по тому, что Win Api можно использовать на многих языках и в них может не оказаться bool
(всё это IMHO)
Of course, the code must be complete enough to compile and link.
Re[5]: if(m_EnableCheck == true)
От:
Аноним
Дата:
13.08.03 07:27
Оценка:
Здравствуйте, Calc, Вы писали:
C>Здравствуйте, maloyDS, Вы писали:
DS>>А вообще нашиша это надо? В смысле вводить BOOL, когда был bool C>Иногда функции винды в случае успеха возвращают не 0. C>А в случае неудачи возвращают 0. C>Вот: C>
C>BOOL bResult = ... // наша функция
C>
C>Так как bool встроенный тип, то его не используют по тому, что Win Api можно использовать на многих языках и в них может не оказаться bool C>(всё это IMHO)
А я думаю что bool не использовался из за того что его не было в C, да и в C++ он появился сравнительно недавно. Хотя насчет C++ может я и ошибаюсь.