22

我有一个向量,我想将其写入文件并将其读取到文件中,但无法使用sizeof运算符确定向量的逻辑大小。

那我该怎么办?

4

1 回答 1

37

C++ std::vector 有一个size()返回其大小的方法。

编辑:据我所知,您需要计算给定向量使用的内存。您不能为此使用 sizeof ,因为向量使用动态内存并且仅存储包含其元素的动态数组的指针。所以我最好的建议是将每个元素所需的内存乘以元素的数量。请注意,如果对象存储指向某些动态分配的对象的指针,这将再次不起作用 - 您将再次单独计算它们的大小。

据我所知,没有简单的方法可以在 C++ 中计算内存向量大小(以字节为单位)。

于 2013-01-09T15:17:14.133 回答