Конференция "Прочее" » В чем разница между переменными типа bool и boolean?
 
  • demon © (29.11.08 18:27) [0]
    Sabj
  • @!!ex © (29.11.08 18:37) [1]
    языки разные. вообще с некоторыми оговорками эти типы можно считать одинаковыми.
  • tesseract © (29.11.08 18:40) [2]
    bool = longbool в delphi - являеться в сучности integer
  • Тын-Дын © (29.11.08 18:42) [3]

    > В чем разница между переменными типа bool и boolean?


    Сравни SizeOf()
  • Anatoly Podgoretsky © (29.11.08 18:49) [4]
    > demon  (29.11.2008 18:27:00)  [0]

    В справке описано, но кратко xBool не логический тип, а арифметический, используемый в недоязыках, как эквивалент логического. В Дельфи для поддержки АПИ введена ограниченая поддержка и его.
  • Anatoly Podgoretsky © (29.11.08 18:51) [5]
    > Тын-Дын  (29.11.2008 18:42:03)  [3]

    Зачем, это же производный (generic) тип и его длина меняется.
  • demon © (29.11.08 18:53) [6]
    > Сравни SizeOf()
    bool - 4
    boolean - 1
    теперь ясно, буду boolean использовать.
  • isasa © (29.11.08 18:53) [7]
    Windows Data Types

    BOOL Boolean variable (should be TRUE or FALSE).
    This type is declared in WinDef.h as follows:

    typedef int BOOL;


    BOOLEAN Boolean variable (should be TRUE or FALSE).
    This type is declared in WinNT.h as follows:

    typedef BYTE BOOLEAN;

  • DVM © (29.11.08 18:54) [8]

    > теперь ясно, буду boolean использовать.

    Почему? И где?
  • @!!ex © (29.11.08 19:02) [9]
    ааа. речь о дельфевом bool. тогда да, 4 байта против 1.
  • Anatoly Podgoretsky © (29.11.08 19:05) [10]
    > demon  (29.11.2008 18:53:06)  [6]

    Плохое сравнение.
  • Anatoly Podgoretsky © (29.11.08 19:06) [11]
    > isasa  (29.11.2008 18:53:07)  [7]

    Ну так приходится расплачиваться за грехи предыдущих поколений
  • demon © (29.11.08 19:08) [12]
    из [7] вытекает что программа исползующая boolean не будет работать в 9x системах, верно?
  • @!!ex © (29.11.08 19:10) [13]
    > [12] demon ©   (29.11.08 19:08)

    Да нет, с чего бы?
  • Anatoly Podgoretsky © (29.11.08 19:11) [14]
    > DVM  (29.11.2008 18:54:08)  [8]

    И еще вопрос

    Зачем и как?
  • demon © (29.11.08 19:13) [15]

    > Да нет, с чего бы?

    > declared in WinNT.h
  • benito (29.11.08 19:16) [16]
    demon ©   (29.11.08 19:13) [15]

    http://www.ozon.ru/context/detail/id/2967330/
  • Anatoly Podgoretsky © (29.11.08 19:16) [17]
    А если будет написано

    > declared in abc.h

    то это будет означать, что под Виндоус работать не будет, только под abcOS
  • Григорьев Антон © (01.12.08 08:57) [18]
    В C и C++ нет отдельного логического типа, он получается из целых чисел, причём любое ненулевое значение считается истиной, нулевое - ложью. Из-за различной разрядности исторически появились "фундаментальные" ByteBool, WordBool и LongBool, устроенные по одному принципу, но отличающиеся разрядностью, и Bool - обобщённый тип, разрядность которого совпадает с разрядностью платформы, т.е. для Win32 Bool = LongBool.

    В Паскале есть встроенный логический тип Boolean, который занимает 1 байт и принимает значения True (1) и False (0), прочие значения компилятором не допускаются. Это тоже исторически сложилось.

    Так как API Windows в качестве логических типов использует типы C/C++, в Delphi для совместимости введена поддержка этих типов. Они могут использоваться там, где используется Boolean, и компилятор неявно выполняет необходимые преобразования.
  • inoremap (01.12.08 09:09) [19]
    [18]> В C нет отдельного логического типа

    fixed
 
Конференция "Прочее" » В чем разница между переменными типа bool и boolean?
Есть новые Нет новых   [134447   +40][b:0][p:0.002]