Каково хорошее определение «указателя пользовательских данных»?

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

Вопрос

Я искал хорошее объяснение, но не нашел его.

Я мог бы попытаться написать его сам, но я бы предпочел, чтобы кто-то с лучшими способностями английский мог бы помочь мне объяснить это Зану Линксу в комментарии здесь.

...и кажется, где-то должно быть хорошее объяснение, почему не здесь?

Это было полезно?

Решение

Когда библиотека управляет некоторыми структурами данных от имени программы (например.окна в приложении с графическим интерфейсом управляются ОС), содержимое этих структур обычно остается конфиденциальным.Однако обычно программе полезно сохранять некоторые дополнительные данные, специфичные для использования программой этих структур.Поэтому библиотека часто предоставляет доступ к полю (часто называемому данные пользователя), который он хранит в каждой структуре.

Обычное использование поля пользовательских данных программой заключается в выделении некоторой памяти каждый раз, когда программа запрашивает библиотеку для создания структуры, и сохранении указателя на эту память в поле пользовательских данных, предоставленном библиотекой, отсюда и термин указатель пользовательских данных.

Другие советы

Посмотри на sqlite3_exec() – он вызывает обратный вызов (третий параметр) для каждой полученной строки и передает предоставленный вами указатель (четвертый параметр) в этот обратный вызов.Это может быть указатель на любой объект, который вы пожелаете — вам необходимо правильно его привести, прежде чем вы сможете получить доступ к указанному объекту.Этот объект называется объектом пользовательских данных, а указатель на него называется указателем пользовательских данных.

В случае sqlite3_exec() вы можете передать указатель на контейнер, который должен хранить все полученные строки таблицы после завершения запроса.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top