sqlite3_get_table返回一个指针,该指针必须在使用后释放。
有3例:
在第三种情况下,显然必须使用sqlite3_free_table()
释放该表。
在第一种和第二种情况下,文档没有说明是否分配了一个表(并且必须被释放)。
有人知道答案还是我应该使用这样的东西:
ptr = NULL;
rc = sqlite3_get_table( db, &ptr, &nRow, nCol,perr);
...
if( ptr != NULL) sqlite3_free_table( ptr);
PS:我已经知道{@ 1}}将被弃用。
答案 0 :(得分:0)
{/ 1}} 将被弃用是错误的; 已弃用。
确切的行为并不重要,因为没有人会如此鲁莽地使用此函数编写新代码。
但如果你想了解好奇的细节:
sqlite3_get_table()
始终返回有效指针或NULL。sqlite3_get_table()
使用有效指针或NULL。