Frage

Ich habe für eine gute Erklärung gesucht, aber kann man nicht finden.

Ich könnte versuchen, einen selbst zu schreiben, aber ich würde es vorziehen, wenn jemand mit einer besseren Englisch könnte mir helfen, dies im Kommentar für Zan Lynx erklären hier .

... und es scheint, wie es sollte irgendwo eine gute Erklärung dafür sein, warum nicht hier?

War es hilfreich?

Lösung

Wenn eine Bibliothek einiger Datenstrukturen im Namen eines Programms verwaltet (z Fenster in einer GUI-Anwendung werden vom Betriebssystem verwaltet), hält sich in der Regel die Inhalte dieser Strukturen privat. Allerdings ist es in der Regel sinnvoll für das Programm einige zusätzliche Daten spezifisch für das Programm der Verwendung dieser Strukturen aufrecht zu erhalten. Daher wird oft eine Bibliothek Zugriff auf ein Feld zur Verfügung stellen (oft als Benutzerdaten ), die es mit jeder Struktur speichert.

Eine gemeinsame Nutzung des Nutzerdatenfeldes durch ein Programm ist ein Teil des Speicher jedes Mal des Programm anfordert, die Bibliothek zu verteilen, eine Struktur zu schaffen, und um den Zeiger zu diesem Speicher in dem Benutzerdatenfeld von der Bibliothek zur Verfügung gestellt zu speichern, damit der Begriff Benutzerdaten Zeiger .

Andere Tipps

Lesen Sie sqlite3_exec () - es ruft einen Rückruf (dritter Parameter) für jede abgerufene Zeile und übergibt einen Zeiger (bis vierten Parameter) in diesem Callback sorgen. Dies kann ein Zeiger auf jedes Objekt sein, das Sie wünschen - Sie haben es in geeigneter Weise zu werfen, bevor Sie den spitzen Gegenstand zugreifen können. Diese Aufgabe wird ein Objekt Benutzerdaten und ein Zeiger auf sie genannt wird ein Userdata-Zeiger genannt.

Bei sqlite3_exec () Sie einen Zeiger auf einen Behälter gelangen kann, die alle abgerufenen Tabellenzeilen auf Anforderung Abschluss zu speichern ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top