std::function::operator bool
De cppreference.com
<tbody>
</tbody>
explicit operator bool() const noexcept; |
(desde C++11) | |
Comprueba si *this almacena un destino de función invocable, es decir, no está vacío.
Parámetros
(Ninguno)
Valor de retorno
true if *this almacena un destino de función invocable, false de lo contrario.
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!
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...) cv ref noexcept(noex)>)
|