我有一个向量,我想将其写入并读取到文件中,但无法使用sizeof
运算符确定向量的逻辑大小。
那我该怎么办?
答案 0 :(得分:37)
c ++ std :: vector有一个返回其大小的方法size()
。
编辑:我现在得到它你需要计算给定矢量使用的内存。您不能使用sizeof,因为向量使用动态内存并仅存储包含其元素的动态数组的指针。所以我最好的建议是将每个元素所需的内存乘以元素的数量。请注意,如果对象存储指向某些动态分配对象的指针,则无法再次执行此操作 - 您将再次分别计算其大小。
在我所知道的c ++中,没有简单的方法来计算内存中的矢量大小(以字节为单位)。