在我做了sqlite3_prepare_v2()
一个声明之后,我需要sqlite3_step()
它。
目前,让我们忽略除SQLITE3_ROW
and之外的所有返回值SQLITE3_DONE
。
只要 is 的返回值sqlite3_step()
,SQLITE3_ROW
我就需要一直调用它,直到得到所有结果。那么最后一个返回值将是SQLITE3_DONE
.
我正在将我的结果输入到std::vector
using 中push_back()
。
根据我的阅读,由于向量内部数组的大小调整,这应该具有 O(log(n)) 的平均复杂度。为了将这种复杂性降低到 O(1),我需要reserve()
在执行push_back()
.
但是从 sqlite3 API 中,我看不到一个函数可以在我之前返回我将获得的结果总数sqlite3_step()
。
我怎样才能用 sqlite3 做到这一点?