Compartilhar via


Objeto _1

Espaços reservados para argumentos substituíveis.

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

Comentários

Os objetos _1, _2, ... _M são espaços reservados designando a primeira, segunda,..., argumento de mês, respectivamente, em uma telefonar de função a um objeto retornado por BIND a função. Usar _N Para especificar onde o enésimo argumento deve ser inserido quando a expressão de vinculação é avaliada.

Nesta implementação o valor de M é 10.

Exemplo

 

// std_tr1__functional__placeholder.cpp 
// compile with: /EHsc 
#include <functional> 
#include <algorithm> 
#include <iostream> 
 
using namespace std::tr1::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::tr1::bind(product, _1, 2)); 
    std::cout << std::endl; 
 
    std::for_each(&arg[0], &arg[3], std::tr1::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

Requisitos

Cabeçalho:<functional>

Namespace: std::tr1

Consulte também

Referência

<functional>TR1)

BIND a função

Classe is_placeholder