std::function
Da 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. |
Definido no cabeçalho <functional>
|
||
template< class > class function; /* undefined */ |
(desde C++11) | |
template< class R, class... Args > class function<R(Args...)> |
(desde C++11) | |
std::function
modelo de classe é um general-purpose invólucro função polimórfica. Instâncias de std::function
pode armazenar, copiar, e invocar qualquer alvo exigível - funções, expressões lambda, expressões ligar, ou outros objetos de função. 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, expressões lambda, expressões ligar, 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.
Índice |
[editar] Tipos de membro
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 se sizeof...(Args)==1 e T é o primeiro tipo e apenas em 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 se sizeof...(Args)==2 T1 e é o primeiro dos dois tipos em 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 se sizeof...(Args)==2 T2 e é o segundo dos dois tipos de 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] Funções de membro
constrói um exemplo std::function novo 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. (função pública membro) | |
destrói uma instância 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. (função pública membro) | |
atribui o conteúdo 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. (função pública membro) | |
Trocar o conteúdo 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. (função pública membro) | |
atribui um novo alvo 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. (função pública membro) | |
verifica se um alvo válido é contido 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. (função pública membro) | |
invoca o alvo 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. (função pública membro) | |
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. | |
obtém o typeid do alvo armazenados de uma 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. (função pública membro) | |
obtém um ponteiro para o alvo de um std::function armazenado 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. (função pública membro) |
[editar] Não-membros funções
(C++11) |
o algoritmo especializado 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. (modelo de função) |
compara com um 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. (modelo de função) |
[editar] Classes auxiliares
especializa o traço 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. (especialização modelo. classe) |
[editar] Exemplo
#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); }
Saída:
-9 42 31337 314160
[editar] Veja também
(C++11) |
a exceção lançada quando invocar um std::function vazio 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. (classe) |
(C++11) |
cria um objecto de função de um apontador para um membro 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. (modelo de função) |