Почему не делают оператора перегрузки объектов iostream bool?

parens вокруг функции проясняют, что функция является выражением. parens после являются вызовом к функции.

Уведомление, что функция не имеет имени.

9
задан Community 23 May 2017 в 12:18
поделиться

1 ответ

Похоже, что в стандартном разделе 27.4.4.3 C ++ 0x есть ответ (выделено мной).

operator unspecified-bool-type() const;

Возвращает: Если fail () , то значение, которое будет оценивать false в логическом контекст; в противном случае значение, которое будет оценить true в логическом контексте. Возвращаемый тип значения не должен быть конвертируемый в int .

Примечание. Это преобразование можно использовать в контексты, в которых ожидается bool (например, условие if); Однако, неявные преобразования (например, в int ) что может произойти с bool не разрешено, исключив некоторые источники ошибка пользователя.

13
ответ дан 4 December 2019 в 11:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: