std::move_only_function::operator bool
Материал из cppreference.com
< cpp | utility | functional | move only function
explicit operator bool()constnoexcept; | (начиная с C++23) | |
Проверяет, хранит ли *this вызываемую цель, т.е. не является ли он пустым.
Содержание |
[править]Параметры
(нет)
[править]Возвращаемое значение
true, если *this хранит вызываемую цель, false иначе.
[править]Пример
Запустить этот код
#include <functional>#include <iostream> void sampleFunction(){std::cout<<"Это пример функции!\n";} void checkFunc(std::move_only_function<void()const>const&func ){// Использует operator bool, чтобы определить, доступна ли вызываемая цель.if( func ){std::cout<<"Функция не пустая! Вызов функции.\n"; func();}else{std::cout<<"Функция пуста. Ничего не делать.\n";}} int main(){std::move_only_function<void()const> f1{};std::move_only_function<void()const> f2{ sampleFunction }; std::cout<<"f1: "; checkFunc(f1); std::cout<<"f2: "; checkFunc(f2);}
Вывод:
f1: Функция пуста. Ничего не делать. f2: Функция не пустая! Вызов функции. Это пример функции!
[править]Смотрите также
проверяет, содержится ли цель (public функция-элемент std::function<R(Args...)> ) |