从 sqlite3_column_blob() 方法获取的指针是否需要删除? [英] Does the pointer get from sqlite3_column_blob() method need to be delete?
本文介绍了从 sqlite3_column_blob() 方法获取的指针是否需要删除?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
像这样:const void * test = sqlite3_column_blob(stat, 1);我可以删除或删除[]测试吗?
Like this: const void * test = sqlite3_column_blob(stat, 1); Can I delete or delete[] test?
推荐答案
返回的指针在发生类型转换或调用 sqlite3_step() 或 sqlite3_reset() 或 sqlite3_finalize() 之前一直有效.用于保存字符串和 BLOB 的内存空间会自动释放.不要将 sqlite3_column_blob() 返回的指针传递给 sqlite3_free().
The pointers returned are valid until a type conversion occurs or until sqlite3_step() or sqlite3_reset() or sqlite3_finalize() is called. The memory space used to hold strings and BLOBs is freed automatically. Do not pass the pointers returned by sqlite3_column_blob() into sqlite3_free().
这篇关于从 sqlite3_column_blob() 方法获取的指针是否需要删除?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文