从sqlite3_column_blob()方法获取的指针是否需要删除?

从sqlite3_column_blob()方法获取的指针是否需要删除?,c,sqlite,C,Sqlite,如下所示:const void*test=sqlite3\u column\u blob(stat,1); 我可以删除或删除[]测试吗?查看其API手册。如果它是一个C API,您可能必须释放它。如果它没有像sqlite3_free那样提供自己的函数(例如,pcre就是这样做的),则必须使用该函数 您不能使用C++的delete操作符删除它,因为您有一个空指针。不能删除空指针,因为编译器必须知道它的类型。(并且void是不完整的类型。您也不能删除不完整的类型)。来自: 返回的指针在发生类型转换或

如下所示:const void*test=sqlite3\u column\u blob(stat,1);
我可以删除或删除[]测试吗?

查看其API手册。如果它是一个C API,您可能必须
释放它。如果它没有像sqlite3_free那样提供自己的函数(例如,pcre就是这样做的),则必须使用该函数

您不能使用C++的delete操作符删除它,因为您有一个空指针。不能删除空指针,因为编译器必须知道它的类型。(并且void是不完整的类型。您也不能删除不完整的类型)。

来自:

返回的指针在发生类型转换或调用sqlite3_step()或sqlite3_reset()或sqlite3_finalize()之前有效。用于保存字符串和blob的内存空间将自动释放不要将sqlite3\u column\u blob()返回的指针传递到sqlite3\u free()。