Descrição
É usado para verificar se um alvo válido está contido.
Declaração
A seguir está a declaração para std :: function :: function :: operator bool.
explicit operator bool() const;
C ++ 11
explicit operator bool() const;
Parâmetros
Nenhum
Valor de retorno
Retorna verdadeiro se * armazenar um destino de função que pode ser chamado, caso contrário, retorna falso.
Exceções
noexcept: Não lança nenhuma exceção.
Exemplo
No exemplo abaixo para std :: function :: operator bool.
#include <functional>
#include <iostream>
void sampleFunction() {
std::cout << "This is the sample example of function!\n";
}
void checkFunc( std::function<void()> &func ) {
if( func ) {
std::cout << "Function is not empty! It is a calling function.\n";
func();
} else {
std::cout << "Function is empty.\n";
}
}
int main() {
std::function<void()> f1;
std::function<void()> f2( sampleFunction );
std::cout << "f1: ";
checkFunc( f1 );
std::cout << "f2: ";
checkFunc( f2 );
}
A saída deve ser assim -
f1: Function is empty.
f2: Function is not empty! It is a calling function.
This is the sample example of function!