std::function<R(Args...)>::operator bool — cppreference.com
Материал из cppreference.com
<tbody> </tbody>
|
|
(начиная с 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) [править]
|