Se recomienda usar Visual Studio 2017

_1 (Objeto)

 

Para obtener la documentación más reciente de Visual Studio 2017 RC, consulte Documentación de Visual Studio 2017 RC.

Marcadores de posición para argumentos reemplazables.

namespace placeholders {  
    extern unspecified _1,
    _2, ... _M  
 } // namespace placeholders (within std)  

Los objetos _1, _2, ... _M son marcadores de posición que designa el primer, segundo,..., argumento de mes, respectivamente, en una llamada de función a un objeto devuelto por bind (función). Utiliza _N para especificar dónde se debe insertar el argumento enésimo cuando se evalúa la expresión de enlace.

En esta implementación, el valor de M es 20.

// std__functional_placeholder.cpp   
// compile with: /EHsc   
#include <functional>   
#include <algorithm>   
#include <iostream>   
  
using namespace std::placeholders;   
  
void square(double x)   
    {   
    std::cout << x << "^2 == " << x * x << std::endl;   
    }   
  
void product(double x, double y)   
    {   
    std::cout << x << "*" << y << " == " << x * y << std::endl;   
    }   
  
int main()   
    {   
    double arg[] = {1, 2, 3};   
  
    std::for_each(&arg[0], &arg[3], square);   
    std::cout << std::endl;   
  
    std::for_each(&arg[0], &arg[3], std::bind(product, _1, 2));   
    std::cout << std::endl;   
  
    std::for_each(&arg[0], &arg[3], std::bind(square, _1));   
  
    return (0);   
    }  
  

1^2 == 1  
2^2 == 4  
3^2 == 9  
  
1*2 == 2  
2*2 == 4  
3*2 == 6  
  
1^2 == 1  
2^2 == 4  
3^2 == 9  

Encabezado:<>>

Espacio de nombres: std

Bind (función)
is_placeholder (clase)

Mostrar: