std::placeholders::_1, std::placeholders::_2, ..., std::placeholders::_N
De cppreference.com
< cpp | utility | functional
![]() | Esta página se ha traducido por ordenador/computador/computadora de la versión en inglés de la Wiki usando Google Translate. La traducción puede contener errores y palabras aparatosas/incorrectas. Planea sobre el texto para ver la versión original. Puedes ayudar a corregir los errores y mejorar la traducción. Para instrucciones haz clic aquí. |
Definido en el archivo de encabezado <functional> | ||
extern/*unspecified*/ _1; extern/*unspecified*/ _2; | ||
El espacio de nombres std::placeholders contiene los objetos de marcador de posición
[_1, . . . _N]
donde N
es una aplicación definida número máximo .Original:
The std::placeholders namespace contains the placeholder objects
[_1, . . . _N]
where N
is an implementation defined maximum number.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.
Cuando se utiliza como un argumento en una expresión std::bind, los objetos de marcador de posición se almacenan en el objeto de la función generada, y cuando ese objeto se invoca la función con argumentos no consolidados, cada
_N
marcador de posición se sustituye por el argumento no unida enésima correspondiente .Original:
When used as an argument in a std::bind expression, the placeholder objects are stored in the generated function object, and when that function object is invoked with unbound arguments, each placeholder
_N
is replaced by the corresponding Nth unbound argument.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.
Los tipos de los objetos de marcador de posición son
DefaultConstructible
y CopyConstructible
, su copia por omisión / move constructores no producen excepciones, y para cualquier _N
marcador de posición, la std::is_placeholder<decltype(_N)> tipo se define y se deriva de std::integral_constant<int, N> .Original:
The types of the placeholder objects are
DefaultConstructible
and CopyConstructible
, their default copy/move constructors do not throw exceptions, and for any placeholder _N
, the type std::is_placeholder<decltype(_N)> is defined and is derived from std::integral_constant<int, N>.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.
[editar]Ejemplo
El siguiente código muestra la creación de objetos de función con un argumento marcador de posición .
Original:
The following code shows the creation of function objects with a placeholder argument.
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.
Ejecuta este código
#include <functional>#include <string>#include <iostream> void goodbye(conststd::string& s){std::cout<<"Goodbye "<< s <<'\n';} class Object {public:void hello(conststd::string& s){std::cout<<"Hello "<< s <<'\n';}}; int main(int argc, char* argv[]){typedefstd::function<void(conststd::string&)> ExampleFunction; Object instance;std::string str("World"); ExampleFunction f =std::bind(&Object::hello, &instance, std::placeholders::_1); // equivalent to instance.hello(str) f(str); f =std::bind(&goodbye, std::placeholders::_1); // equivalent to goodbye(str) f(str);return0;}
Salida:
Hello World Goodbye World
[editar]Ver también
(C++11) | Vincula uno o más argumentos a un objeto función. (plantilla de función) |
(C++11) | Indica que un objeto es un marcador de posición estándar o puede usarse como tal. (plantilla de clase) |