Objet _1
Espaces réservés pour les arguments remplaçables.
Syntaxe
namespace placeholders {
extern unspecified _1, _2, ... _N
} // namespace placeholders (within std)
Notes
Les objets _1, _2, ... _N
sont des espaces réservés qui représentent le premier, deuxième, ..., via nth argument, respectivement dans un appel de fonction à un objet retourné par bind
. Par exemple, vous utilisez _6
pour spécifier l’emplacement où le sixième argument doit être inséré lorsque l’expression bind
est évaluée.
Dans l’implémentation de Microsoft, la valeur est _N
20.
Exemple
// 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
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour