Skip to content

Latest commit

 

History

History
95 lines (74 loc) · 2.09 KB

1-object.md

File metadata and controls

95 lines (74 loc) · 2.09 KB
title ms.custom ms.date ms.reviewer ms.suite ms.technology ms.tgt_pltfrm ms.topic f1_keywords dev_langs helpviewer_keywords ms.assetid caps.latest.revision author ms.author manager
_1 Object | Microsoft Docs
11/04/2016
cpp-standard-libraries
article
_1
std::_1
functional/std::_1
C++
_1 object
30c3c480-ff31-4708-94be-7d0d65f243c9
24
corob-msft
corob
ghogen

_1 Object

Placeholders for replaceable arguments.

Syntax

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

Remarks

The objects _1, _2, ... _M are placeholders designating the first, second, ..., Mth argument, respectively in a function call to an object returned by bind. You use _N to specify where the Nth argument should be inserted when the bind expression is evaluated.

In this implementation the value of M is 20.

Example

// 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  

Requirements

Header: <functional>

Namespace: std

See Also

bind
is_placeholder Class