Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Tempat penampung untuk argumen yang dapat diganti.
Sintaks
namespace placeholders {
extern unspecified _1, _2, ... _N
} // namespace placeholders (within std)
Keterangan
Objek _1, _2, ... _N
adalah tempat penampung yang mewakili argumen pertama, kedua, ..., melalui Nth, masing-masing dalam panggilan fungsi ke objek yang dikembalikan oleh bind
. Misalnya, Anda menggunakan _6
untuk menentukan di mana argumen keenam harus disisipkan saat bind
ekspresi dievaluasi.
Dalam implementasi Microsoft, nilainya _N
adalah 20.
Contoh
// 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