Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Symbole zastępcze dla argumentów możliwych do zastąpienia.
Składnia
namespace placeholders {
extern unspecified _1, _2, ... _N
} // namespace placeholders (within std)
Uwagi
Obiekty są symbolami _1, _2, ... _N zastępczymi, które reprezentują pierwszy, drugi, ..., za pośrednictwem Nth argumentu, odpowiednio w wywołaniu funkcji do obiektu zwróconego przez bind. Na przykład służy _6 do określania, gdzie ma zostać wstawiony szósty argument podczas bind obliczania wyrażenia.
W implementacji firmy Microsoft wartość _N to 20.
Przykład
// 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