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++ 編譯器的問題。