Espacios de nombres
Variantes

std::placeholders::_1, std::placeholders::_2, ..., std::placeholders::_N

De cppreference.com
 
 
Biblioteca de servicios
 
Objetos función
Envoltorios de funciones
(C++11)
(C++11)
Aplicación parcial de funciones
(C++20)
(C++11)
Invocación de funciones
(C++17)(C++23)
Objeto función identidad
(C++20)
Envoltorios de referencias
(C++11)(C++11)
Envoltorios de operador transparentes
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
Negadores
(C++17)
Buscadores
Comparadores restringidos
Vinculadores y adaptadores antiguos
(hasta C++17)
(hasta C++17)
(hasta C++17)
(hasta C++17)
(hasta C++17)(hasta C++17)(hasta C++17)(hasta C++17)
(hasta C++20)
(hasta C++20)
(hasta C++17)(hasta C++17)
(hasta C++17)(hasta C++17)

(hasta C++17)
(hasta C++17)(hasta C++17)(hasta C++17)(hasta C++17)
(hasta C++20)
(hasta C++20)
 
Definido en el archivo de encabezado <functional>
extern /*unspecified*/ _1; extern /*unspecified*/ _2; . . extern /*unspecified*/ _N;
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.
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.
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.

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.

#include <functional>
#include <string>
#include <iostream>

void goodbye(const std::string& s)
{
    std::cout << "Goodbye " << s << '\n';
}

class Object {
public:
    void hello(const std::string& s)
    {
        std::cout << "Hello " << s << '\n';
    }
};

int main(int argc, char* argv[])
{
    typedef std::function<void(const std::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);    
    return 0;
}

Salida:

Hello World
Goodbye World

Ver también

(C++11)
Vincula uno o más argumentos a un objeto función.
(plantilla de función) [editar]
Indica que un objeto es un marcador de posición estándar o puede usarse como tal.
(plantilla de clase) [editar]