std::function::operator bool
De cppreference.com
< cpp | utility | functional | function
explicit operator bool()constnoexcept; | (desde C++11) | |
Comprueba si *this almacena un destino de función invocable, es decir, no está vacío.
Contenido |
[editar]Parámetros
(Ninguno)
[editar]Valor de retorno
true if *this almacena un destino de función invocable, false de lo contrario.
[editar]Ejemplo
Ejecuta este código
#include <functional>#include <iostream> void funcMuestra(){std::cout<<"¡Esta es la función muestra!\n";} void comprobarFunc(std::function<void()>const&func ){// Usa operator bool para determinar si el destino invocable está disponible.if( func ){std::cout<<"¡La función no está vacía! Llamando a la función.\n"; func();}else{std::cout<<"La función está vacía. Nada que hacer.\n";}} int main(){std::function<void()> f1;std::function<void()> f2( funcMuestra ); std::cout<<"f1: "; comprobarFunc( f1 ); std::cout<<"f2: "; comprobarFunc( f2 );}
Salida:
f1: La función está vacía. Nada que hacer. f2: ¡La función no está vacía! Llamando a la función. ¡Esta es la función muestra!
[editar]Véase también
(C++23) | Verifica si la instancia de std::move_only_function tiene un objetivo. (función miembro pública de std::move_only_function<R(Args...) cvref noexcept(noex)> ) |