_1 Object
Visual Studio 2015
The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.
The latest version of this topic can be found at _1 Object.
Placeholders for replaceable arguments.
namespace placeholders {
extern unspecified _1,
_2, ... _M
} // namespace placeholders (within std)
The objects _1, _2, ... _M are placeholders designating the first, second, ..., Mth argument, respectively in a function call to an object returned by bind Function. 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.
// 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
Header: <functional>
Namespace: std
Show: