什么是“ userdata指针的良好定义”?
-
03-07-2019 - |
题
我搜索了一个很好的解释,但找不到一个。
我可以尝试自己写一个,但我更愿意,如果有更好的 english 的人可以帮助我在评论中为Zan Lynx解释这个这里。
......似乎某处应该有一个很好的解释,为什么不在这里呢?
解决方案
当库代表程序管理某些数据结构时(例如,GUI应用程序中的窗口由OS管理),它通常会将这些结构的内容保密。但是,程序通常可以维护一些特定于程序使用这些结构的附加数据。因此,库通常会提供对每个结构存储的字段(通常称为用户数据)的访问权。
程序对用户数据字段的共同使用是每次程序请求库创建结构时分配一些内存,并将指针存储在库提供的用户数据字段中,因此术语 userdata指针。
其他提示
查看 sqlite3_exec()–它为每个检索到的行调用一个回调(第三个参数),并将您提供的指针(第四个参数)传递给此回调。这可以指向您希望的任何对象–你必须先适当地强制转换它才能访问指向的对象。该对象称为userdata对象,指向它的指针称为userdata指针。
对于sqlite3_exec(),您可以将指针传递给容器,该容器将在请求完成时存储所有检索到的表行。
不隶属于 StackOverflow