Qu'est-ce qu'une bonne définition d'un & # 8220; pointeur de données utilisateur & # 8221 ;?

StackOverflow https://stackoverflow.com/questions/602826

Question

J'ai cherché une bonne explication, mais je n'en trouve pas.

Je pourrais essayer d’en écrire un moi-même, mais je préférerais que quelqu'un de mieux anglais puisse m'aider à expliquer cela pour Zan Lynx dans le commentaire ici .

... et il semble qu'il devrait y avoir une bonne explication quelque part, pourquoi pas ici?

Était-ce utile?

La solution

Lorsqu'une bibliothèque gère certaines structures de données pour le compte d'un programme (par exemple, les fenêtres d'une application GUI sont gérées par le système d'exploitation), le contenu de ces structures reste généralement confidentiel. Cependant, il est généralement utile que le programme conserve des données supplémentaires spécifiques à l'utilisation de ces structures par le programme. Par conséquent, une bibliothèque donnera souvent accès à un champ (souvent appelé données utilisateur ) qu’elle stocke avec chaque structure.

Une utilisation courante du champ de données utilisateur par un programme consiste à allouer une mémoire chaque fois que le programme demande à la bibliothèque de créer une structure et de stocker le pointeur sur cette mémoire dans le champ de données utilisateur fourni par la bibliothèque. le terme pointeur de données utilisateur .

Autres conseils

Regardez sqlite3_exec () & # 8211; il appelle un rappel (troisième paramètre) pour chaque ligne extraite et passe un pointeur que vous fournissez (quatrième paramètre) dans ce rappel. Cela peut être un pointeur sur l’objet de votre choix & # 8211; vous devez le lancer correctement avant de pouvoir accéder à l'objet pointé. Cet objet s'appelle un objet userdata et son pointeur s'appelle un pointeur userdata.

Dans le cas de sqlite3_exec (), vous pouvez passer un pointeur sur un conteneur destiné à stocker toutes les lignes de la table extraites à la fin de la requête.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top