


Comment stocker des pointeurs de fonction membre dans des objets de fonction de bibliothèque standard ?
Dec 22, 2024 pm 09:20 PMPointeurs de fonction vers des fonctions membres avec des fonctions de bibliothèque standard
Dans le but de stocker des pointeurs de fonction vers des fonctions membres d'une classe dans une carte contenant objets de fonction de bibliothèque standard, une erreur courante se produit. Comme démontré dans le code ci-dessous, l'attribution d'une fonction membre directement à un objet fonction entraîne une erreur :
1 2 3 4 5 6 7 8 9 10 |
|
L'erreur rencontrée est due à l'exigence implicite d'une fonction membre pour un objet. Une fonction membre est toujours appelée avec un objet, en passant effectivement le pointeur "this" comme premier argument.
Pour résoudre ce problème, la signature de la fonction doit spécifier que la fonction ne prend aucun argument (< vide(vide)>). De plus, le premier (et unique) argument doit être lié. Ceci peut être réalisé en utilisant std::bind():
1 |
|
Si la fonction nécessite des paramètres, des espaces réservés peuvent être utilisés :
1 2 |
|
Les lambdas C 11 peuvent également être utilisés :
1 2 3 |
|
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Quels sont les types de valeurs renvoyées par les fonctions du langage C? Qu'est-ce qui détermine la valeur de retour?

C Fonction Langue Format de lettre ÉTAPES DE CONVERSION DE CAS

Gulc: Cibliothèque C construite à partir de zéro

Quelles sont les définitions et les règles d'appel des fonctions du langage C et quelles sont les

Où est la valeur de retour de la fonction de langue C stockée en mémoire?

Utilisation distincte et partage de phrases

Comment fonctionne la bibliothèque de modèle standard C (STL)?

Comment utiliser efficacement les algorithmes du STL (trier, trouver, transformer, etc.)?
