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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
h3mbr0
228 / 71 / 16
Регистрация: 12.03.2012
Сообщений: 318
#1

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

12.03.2012, 22:39. Просмотров 774. Ответов 10
Метки нет (Все метки)

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

не работает bool xor(bool a, bool b) - C++
Учусь по "Базовому курсу" Герберта Шилда #include <iostream> bool xor(bool a, bool d); int main() { bool p, q; cout...

Изменить значение bool a = true в bool a = false - C++
// Логическое выражения - варианты #include <iostream> #include <conio.h> using namespace std; int main() { ...

как правильно понять тип bool ? bool true(const string &str) и что дает это значение ? - C++
задам может глупый вопрос, но прошу ответить. как правильно понять тип bool ? bool true(const string &str) и что дает это...

do while фунция - C++
Здравствуйте, вот есть код приведенный ниже,прости те за культуру написания, но суть задания в том чтобы выполнить do while с вычислением...

Фунция putchar() - C++
Всем привет! Почему, когда вывожу часть строкового массива посимвольно - функция putchar выводит каждый элемент по два раза? #include...

фунция random - C++
в паскале есть random(l+r) случайное число из диапозона l+r;как в с++?

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
go
Эксперт C++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
12.03.2012, 22:47 #2
Цитата Сообщение от h3mbr0 Посмотреть сообщение
функция bool()
А в каком хидере она есть?
Цитата Сообщение от h3mbr0 Посмотреть сообщение
,>0 как true
Точнее != 0
1
h3mbr0
228 / 71 / 16
Регистрация: 12.03.2012
Сообщений: 318
12.03.2012, 22:52  [ТС] #3
А в каком хидере она есть?
не имею понятия, но знаю что она точно существует, где то давно откопал информацию что она преобразовывает float значения, но по проведенным мной не трудным опытам я пришел к выводу что float переводятся так же как и все остальное.
Точнее != 0
Да скорее так)
0
go
Эксперт C++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
12.03.2012, 22:55 #4
h3mbr0, у функции имя как у типа. Ну-ну... Хотя бы прототип ее помните? Может это виндовская какая-нибудь. Искали у них?
1
h3mbr0
228 / 71 / 16
Регистрация: 12.03.2012
Сообщений: 318
12.03.2012, 23:00  [ТС] #5
Цитирую: "Существует одноименная функция bool(), которая преобразует арифмитические типы в булевы." Речь о visual c++
0
go
Эксперт C++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
12.03.2012, 23:08 #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
1
Cool-T
20 / 13 / 1
Регистрация: 17.12.2010
Сообщений: 34
12.03.2012, 23:09 #7
Я перегружал оператор bool() в классе, необходимо было. Удобно местами :]
0
h3mbr0
228 / 71 / 16
Регистрация: 12.03.2012
Сообщений: 318
12.03.2012, 23:16  [ТС] #8
Ясно. Ну раз функция бесполезна вопрос исчерпан) Просто удивило зачем приводится такой пример в книге, причем 2012 года издания... Благодарю за разьяснение)
0
Cool-T
20 / 13 / 1
Регистрация: 17.12.2010
Сообщений: 34
12.03.2012, 23:27 #9
Полезна, как раз для перегрузки имхо

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

bool+bool=string - C++
Здравствуйте! Прошу помощи в задаче, существует 4 функции, возвращающие 1/0, нужно эти bool последовательно соединить в string. Т.е....

наследование, фунция main - C++
вот условие задачи: вот что у меня вышло, но не знаю что прописать в ф-ию, Main подскажите пжл #include &lt;iostream&gt; #include...

Квадратичная фунция для хэш-таблицы - C++
Добрый день! Подскажите, что тут c1, c2, h'(key)? Задание прикрепил картинкой.. А ниже функция, которая дана в задании.. int...

Фунция переписывания строчки в обратном порядке - C++
Я написал код на ввод символьной строки. Как мне вывести введенную строчку в обратном порядке? #include &lt;iostream&gt; #include...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
13.03.2012, 16:39
Ответ Создать тему
Опции темы

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