Форум: "Прочее";
Текущий архив: 2009.03.01;
Скачать: [xml.tar.bz2];
ВнизBorland C Найти похожие ветки
← →
programmer90 (2009-01-06 02:47) [0]Всем привет!
У меня вопрос: есть ли в Borland C 3.1 переменные типа boolean как в Pascal-e?
← →
Германн © (2009-01-06 02:52) [1]
> У меня вопрос: есть ли в Borland C 3.1 переменные типа
> boolean как в Pascal-e?
Есть. Нет.
Выбери нужный тебе вариант.
Только не надо "умничать". Спроси конкретно что тебе надо.
← →
programmer90 (2009-01-06 03:04) [2]Просто хочется переменную которая принимает два состояния= true и false.
Привык я к булеану)))
← →
Германн © (2009-01-06 03:20) [3]
> programmer90 (06.01.09 03:04) [2]
>
> Просто хочется переменную которая принимает два состояния=
> true и false.
> Привык я к булеану)))
>
Из справки к BDS2006:
Bool, False, True
Category
C++-Specific Keywords
Syntax
[C++]bool <identifier>;
Description
Use bool and the literals false and true to perform Boolean logic tests.
The bool keyword represents a type that can take only the value false or true. The keywords false and true are Boolean literals with predefined values. false is numericallly zero and true is numerically one. These Boolean literals are rvalues; you cannot make an assignment to them.
You can convert an rvalue that is of type bool to an rvalue that is int type. The numerical conversion sets false to zero and true becomes one.
You can convert arithmetic, enumeration, pointer, or pointer to member rvalue types to an rvalue of type bool. A zero value, null pointer value, or null member pointer value is converted to false. Any other value is converted to true.
← →
test (2009-01-06 08:24) [4]#define true 1
#define false 0
Видел пару раз в заголовках.
← →
palva © (2009-01-06 11:06) [5]Насколько я помню, нет. А в версии 5.5 уже должно быть. Но ведь легко и самому проверить. Попробуйте использовать имена bool true false в качестве имен переменных. Если компилятор ругаться не будет, значит булевских переменных он не предусматривает. Только при проверке не используйте никаких #include
← →
Правильный$Вася (2009-01-06 13:07) [6]в Си нет никаких буленов
любое ненулевое число есть истина
0 - ложь
тем более, что 3.1 - это под DOS, нет там никаких WinAPI-прицепов
← →
Anatoly Podgoretsky © (2009-01-06 13:09) [7]> test (06.01.2009 8:24:04) [4]
И те кто использовал подобное недавно жестоко пострадали. В С++ TRUE это не 1, а много шире.
← →
test (2009-01-06 13:11) [8]Anatoly Podgoretsky © (06.01.09 13:09) [7]
Если уж приспичело человеку))
Просто видел в чужом коде, сам долго думал зачем он там.
← →
programmer90 (2009-01-06 13:41) [9]
> В С++ TRUE это не 1, а много шире.
Хорошо сказали:)
> #define true 1
> #define false 0
Это первое что приходит в голову
я понял что булеанов нет... легче не стало))))
Спасибо всем!
← →
palva © (2009-01-06 13:49) [10]Второе что приходит в голову:
#define bool int
#define false 0
#define true (! false)
← →
Правильный$Вася (2009-01-06 13:59) [11]
> Второе что приходит в голову:
могут быть проблемы со сравнением результатов функций
да и есть подозрение, что разные компиляторы по-разному дадут результатtrue (!false)
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2009.03.01;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.004 c