Форум программистов, компьютерный форум CyberForum.ru

фунция bool() - C++

Войти
Регистрация
Восстановить пароль
 
h3mbr0
8 / 8 / 0
Регистрация: 12.03.2012
Сообщений: 127
12.03.2012, 22:39     фунция bool() #1
Доброго времени суток. Возможно глупый но беспокоющий меня вопрос: для чего нужна функция bool() ? На сколько мне извесно присваение арифметических тип типу bool происходит автоматически(0, 0.0... присваиваются как false,>0 как true), так для чего тогда нужна эта функция?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.03.2012, 22:39     фунция bool()
Посмотрите здесь:

C++ Bool на с++
C++ BOOL B C++ =(
bool C++
наследование, фунция main C++
фунция random C++
bool в g++ C++
bool+bool=string C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
go
Эксперт C++
3584 / 1364 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
12.03.2012, 22:47     фунция bool() #2
Цитата Сообщение от h3mbr0 Посмотреть сообщение
функция bool()
А в каком хидере она есть?
Цитата Сообщение от h3mbr0 Посмотреть сообщение
,>0 как true
Точнее != 0
h3mbr0
8 / 8 / 0
Регистрация: 12.03.2012
Сообщений: 127
12.03.2012, 22:52  [ТС]     фунция bool() #3
А в каком хидере она есть?
не имею понятия, но знаю что она точно существует, где то давно откопал информацию что она преобразовывает float значения, но по проведенным мной не трудным опытам я пришел к выводу что float переводятся так же как и все остальное.
Точнее != 0
Да скорее так)
go
Эксперт C++
3584 / 1364 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
12.03.2012, 22:55     фунция bool() #4
h3mbr0, у функции имя как у типа. Ну-ну... Хотя бы прототип ее помните? Может это виндовская какая-нибудь. Искали у них?
h3mbr0
8 / 8 / 0
Регистрация: 12.03.2012
Сообщений: 127
12.03.2012, 23:00  [ТС]     фунция bool() #5
Цитирую: "Существует одноименная функция bool(), которая преобразует арифмитические типы в булевы." Речь о visual c++
go
Эксперт C++
3584 / 1364 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
12.03.2012, 23:08     фунция bool() #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
 
int main()
{
   int a = 2;
   bool f = a;
   
   double d = 2.5;
   bool f1 = d;
   
   std::cout << std::boolalpha << f << std::endl;
   std::cout << std::boolalpha << f1 << std::endl;
}
Можно приводить
C++
1
   bool f1 = static_cast<bool> (d);
Зачем Вам эта функция(которая не существует)?
По сути
C++
1
bool (f); // Так это обычное приведение типов, в С++ вместо можно использовать static_cast
Cool-T
20 / 13 / 1
Регистрация: 17.12.2010
Сообщений: 34
12.03.2012, 23:09     фунция bool() #7
Я перегружал оператор bool() в классе, необходимо было. Удобно местами :]
h3mbr0
8 / 8 / 0
Регистрация: 12.03.2012
Сообщений: 127
12.03.2012, 23:16  [ТС]     фунция bool() #8
Ясно. Ну раз функция бесполезна вопрос исчерпан) Просто удивило зачем приводится такой пример в книге, причем 2012 года издания... Благодарю за разьяснение)
Cool-T
20 / 13 / 1
Регистрация: 17.12.2010
Сообщений: 34
12.03.2012, 23:27     фунция bool() #9
Полезна, как раз для перегрузки имхо

C++
1
2
3
4
5
6
7
8
9
class Lilu
{
...
    bool multipasport;
public:
    operator bool(){ return multipasport;}
} Dallas;
 
if(Dallas){}
Глупый пример, не спорю. Но можно придумать что-нибудь более полезное.
go
Эксперт C++
3584 / 1364 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
13.03.2012, 15:36     фунция bool() #10
Цитата Сообщение от Cool-T Посмотреть сообщение
Полезна, как раз для перегрузки имхо
Так это тип(утверждение справедливо для все типов).
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.03.2012, 16:39     фунция bool()
Еще ссылки по теме:

do while фунция C++
Фунция putchar() C++
Фунция, проверяющая, является ли число степенью числа 5 C++
C++ Квадратичная фунция для хэш-таблицы
C++ Фунция переписывания строчки в обратном порядке

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Nameless One
Эксперт С++
 Аватар для Nameless One
5759 / 3408 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
13.03.2012, 16:39     фунция bool() #11
Цитата Сообщение от h3mbr0 Посмотреть сообщение
для чего нужна функция bool()
считай, что это просто конструктор для типа bool (либо копирующий, либо конструктор по умолчанию). Хотя встроенные типы С++ не имеют конструкторов, т.к. они не определены как классы.
Yandex
Объявления
13.03.2012, 16:39     фунция bool()
Ответ Создать тему
Опции темы

Текущее время: 13:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru