代码之家  ›  专栏  ›  技术社区  ›  epatel

“用户数据指针”的良好定义是什么?

  •  4
  • epatel  · 技术社区  · 17 年前

    英语 可以帮我在评论中为Zan Lynx解释一下吗 here .

    …似乎应该有一个很好的解释,为什么不在这里?

    2 回复  |  直到 9 年前
        1
  •  3
  •   sharptooth    17 年前

    看看 sqlite3_exec() –它为每个检索到的行调用回调(第三个参数),并将您提供的指针(第四个参数)传递到此回调中。这可以是指向您希望的任何对象的指针–您必须在访问指向的对象之前适当地强制转换它。此对象称为userdata对象,指向它的指针称为userdata指针。

    在sqlite3_exec()的情况下,您可以传递一个指向容器的指针,该容器将在请求完成时存储所有检索到的表行。

        2
  •  3
  •   Matthew Xavier    17 年前

    当库代表程序管理某些数据结构时(例如GUI应用程序中的窗口由操作系统管理),它通常会将这些结构的内容保持为私有。然而,对于程序来说,维护一些特定于程序使用这些结构的附加数据通常是有用的。因此,库通常提供对字段(通常称为 用户数据 )它与每个结构一起存储。

    程序对用户数据字段的一种常见用法是,每当程序请求库创建结构时,分配一些内存,并将指向该内存的指针存储在库提供的用户数据字段中,因此称为 用户数据指针