std::function
De cppreference.com
< cpp | utility | functional
![]() |
This page has been machine-translated from the English version of the wiki using Google Translate.
The translation may contain errors and awkward wording. Hover over text to see the original version. You can help to fix errors and improve the translation. For instructions click here. |
Defined in header <functional>
|
||
template< class > class function; /* undefined */ |
(desde C++11) | |
template< class R, class... Args > class function<R(Args...)> |
(desde C++11) | |
std::function
clase de plantilla es un contenedor de uso general función polimórfica. Los casos de std::function
puede almacenar, copiar, e invocar cualquier exigible objetivo - funciones, expresiones lambda, expresiones de vinculación u otros objetos de función . Original:
Class template
std::function
is a general-purpose polymorphic function wrapper. Instances of std::function
can store, copy, and invoke any callable target -- functions, expresiones lambda, expresiones de vinculación, or other function objects. The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Contenido |
[editar] Tipos de miembros
Tipo
Original: Type The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
Definition |
result_type
|
R
|
argument_type
|
T si sizeof...(Args)==1 y T es el primer tipo y sólo en Args... Original: T if sizeof...(Args)==1 and T is the first and only type in Args... The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
first_argument_type
|
T1 si sizeof...(Args)==2 T1 y es el primero de los dos tipos en Args... Original: T1 if sizeof...(Args)==2 and T1 is the first of the two types in Args... The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
second_argument_type
|
T2 si sizeof...(Args)==2 y T2 es el segundo de los dos tipos en Args... Original: T2 if sizeof...(Args)==2 and T2 is the second of the two types in Args... The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
[editar] Las funciones miembro
construye una instancia std::function nuevo Original: constructs a new std::function instance The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (miembro público función) | |
destruye una instancia std::function Original: destroys a std::function instance The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (miembro público función) | |
asigna el contenido Original: assigns the contents The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (miembro público función) | |
intercambia los contenidos Original: swaps the contents The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (miembro público función) | |
asigna un nuevo objetivo Original: assigns a new target The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (miembro público función) | |
Comprueba si un objetivo válido está contenido Original: checks if a valid target is contained The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (miembro público función) | |
invoca al destino Original: invokes the target The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (miembro público función) | |
Original: Target access The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. | |
obtiene el typeid del objetivo almacenado de un std::function Original: obtains the typeid of the stored target of a std::function The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (miembro público función) | |
obtiene un puntero a la de destino almacenada de una std::function Original: obtains a pointer to the stored target of a std::function The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (miembro público función) |
[editar] Terceros funciones
(C++11) |
el algoritmo se especializa std::swap Original: specializes the std::swap algorithm The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (función de plantilla) |
compara con una std::function std::nullptr Original: compares an std::function with std::nullptr The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (función de plantilla) |
[editar] Clases de ayuda
se especializa el rasgo tipo std::uses_allocator Original: specializes the std::uses_allocator type trait The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (clase de especialización de plantilla) |
[editar] Ejemplo
#include <functional> #include <iostream> struct Foo { Foo(int num) : num_(num) {} void print_add(int i) const { std::cout << num_+i << '\n'; } int num_; }; void print_num(int i) { std::cout << i << '\n'; } int main() { // store a free function std::function<void(int)> f_display = print_num; f_display(-9); // store a lambda std::function<void()> f_display_42 = []() { print_num(42); }; f_display_42(); // store the result of a call to std::bind std::function<void()> f_display_31337 = std::bind(print_num, 31337); f_display_31337(); // store a call to a member function std::function<void(const Foo&, int)> f_add_display = &Foo::print_add; Foo foo(314159); f_add_display(foo, 1); }
Output:
-9 42 31337 314160
[editar] Ver también
(C++11) |
la excepción que se produce cuando se invoca una std::function vacía Original: the exception thrown when invoking an empty std::function The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (clase) |
(C++11) |
crea un objeto de función de un puntero a un miembro Original: creates a function object out of a pointer to a member The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (función de plantilla) |