Пространства имён
Варианты
Действия

std::function<R(Args...)>::operator bool

Материал из cppreference.com
< cpp‎ | utility‎ | functional‎ | function
 
 
Библиотека утилит
Языковая поддержка
Поддержка типов (базовые типы, RTTI)
Макросы тестирования функциональности библиотеки (C++20)    
Управление динамической памятью
Программные утилиты
Поддержка сопрограмм(C++20)
Вариативные функции
Трёхстороннее сравнение (C++20)
(C++20)
(C++20)(C++20)(C++20)(C++20)(C++20)(C++20)
Общие утилиты
Дата и время
Функциональные объекты
Библиотека форматирования(C++20)
(C++11)
Операторы отношения (устарело в C++20)
Целочисленные функции сравнения
(C++20)(C++20)(C++20)    
(C++20)
Операции обмена и типа
(C++11)
(C++11)
(C++17)
Общие лексические типы
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)
Элементарные преобразования строк
(C++17)
(C++17)
 
Объекты функции
Функции обёртки
(C++11)
(C++11)
Применение частичных функций
(C++20)(C++23)
(C++11)
Вызов функции
(C++17)(C++23)
Объект идентичности функции
(C++20)
Обёртки ссылок
(C++11)(C++11)
Прозрачные обёртки операторов
(C++14)
(C++14)
(C++14)
(C++14)  
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
Отрицатели
(C++17)
Искатели
Ограниченные компараторы
Старые привязки и адаптеры
(до C++17*)
(до C++17*)
(до C++17*)
(до C++17*)
(до C++17*)(до C++17*)(до C++17*)(до C++17*)
(до C++20*)
(до C++20*)
(до C++17*)(до C++17*)
(до C++17*)(до C++17*)

(до C++17*)
(до C++17*)(до C++17*)(до C++17*)(до C++17*)
(до C++20*)
(до C++20*)
 
 
explicit operator bool()constnoexcept;
(начиная с C++11)

Проверяет, хранит ли цель объекта *this вызываемую функцию, т.е. не является ли он пустым.

Содержание

[править]Параметры

(нет)

[править]Возвращаемое значение

true, если *this хранит вызываемую функцию как цель, false иначе.

[править]Пример

#include <functional>#include <iostream>   void sampleFunction(){std::cout<<"Это пример функции!\n";}   void checkFunc(std::function<void()>const&func ){// Используется оператор bool, чтобы определить, доступна ли вызываемая цель.if( func ){std::cout<<"Функция не пуста! Вызываемая функция.\n"; func();}else{std::cout<<"Функция пуста. Ничего не делать.\n";}}   int main(){std::function<void()> f1;std::function<void()> f2( sampleFunction );   std::cout<<"f1: "; checkFunc( f1 );   std::cout<<"f2: "; checkFunc( f2 );}

Вывод:

f1: Функция пуста. Ничего не делать. f2: Функция не пуста! Вызываемая функция. Это пример функции!

[править]Смотрите также

проверяет, есть ли у std::move_only_function цель
(public функция-элемент std::move_only_function)[править]
close