Sqlite
C界面 | C Interface

Constants Defining Special Destructor Behavior

Constants Defining Special Destructor Behavior

typedef void (*sqlite3_destructor_type)(void* #define SQLITE_STATIC ((sqlite3_destructor_type)0) #define SQLITE_TRANSIENT ((sqlite3_destructor_type)-1)

这些是作为像 sqlite3_result_blob() 这样的例程的最终参数传入的析构函数的特殊值。如果析构函数参数是 SQLITE_STATIC ,则意味着内容指针是常量并且永远不会改变。它不需要被销毁。SQLITE_TRANSIENT 值意味着内容在不久的将来可能会发生变化,并且 SQLite 应该在返回之前制作其自己的内容副本。

typedef 是解决某些 C ++ 编译器中的问题所必需的。