operator==,!=(std::function)
De cppreference.com
< cpp | utility | functional | function
Definido en el archivo de encabezado <functional>
|
||
template< class R, class... ArgTypes > bool operator==( const std::function<R(ArgTypes...)>& f, |
(1) | (desde C++11) |
template< class R, class... ArgTypes > bool operator==( std::nullptr_t, |
(2) | (desde C++11) (hasta C++20) |
template< class R, class... ArgTypes > bool operator!=( const std::function<R(ArgTypes...)>& f, |
(3) | (desde C++11) (hasta C++20) |
template< class R, class... ArgTypes > bool operator!=( std::nullptr_t, |
(4) | (desde C++11) (hasta C++20) |
Compara una instancia de std::function
con el puntero nulo. Las funciones vacías (es decir, funciones sin un destino invocable) se comparan iguales, las no vacías se comparan desiguales.
El operador |
(desde C++20) |
Contenido |
[editar] Parámetros
f | - | Instancia de std::function a comparar.
|
[editar] Valor de retorno
1-2) !f.
3-4) (bool) f.
[editar] Ejemplo
Ejecuta este código
#include <functional> #include <iostream> using AlgunaFuncVoid = std::function<void(int)>; class C { public: C(AlgunaFuncVoid func_void = nullptr) : func_void_(func_void) { if (func_void_ == nullptr) { // comparación especializada con nullptr func_void_ = std::bind(&C::func_por_defecto, this, std::placeholders::_1); } func_void_(7); } void func_por_defecto(int i) { std::cout << i << '\n'; }; private: AlgunaFuncVoid func_void_; }; void func_usuario(int i) { std::cout << (i + 1) << '\n'; } int main() { C c1; C c2(func_usuario); }
Salida:
7 8
[editar] Véase también
(C++23) |
Compara una instancia de std::move_only_function con nullptr. (función) |