![]() |
1
2
虽然我宁愿看到一种基于显式序列化的方法,但是您可以尝试:
假设totalfreq==docidlist.size(),它是一个伪变量,因此更好的实现是:
我的首选实施方案是:
|
![]() |
2
3
您的代码是不可移植的。它试图将对象作为原始字节序列对待,这对于C++标准中的非POD对象显然是未定义的(而您的结构是非POD),因为它包含非POD类型的成员。
实际上,Vector类通常由3个字段组成:指向数据开头的指针、大小和容量。您看到的是组成这些写入文件的值的字节。 应该考虑完全避免C风格文件I/O,并使用C++流和 Boost Serialization library 相反,它支持现成的STL集合。 |
![]() |
3
2
Vector类的定义大致如下:
矢量的实际数据存储在动态分配的数组中。Vector类只保存一个指向该数组的指针。所以你的
你需要写出向量的实际元素。 |
![]() |
4
0
我在VS2010 Beta1上尝试过这个。没有尝试其他编译器。请退房。
|
![]() |
AstralHex · 矩阵乘法代码工作不正常 6 月前 |
![]() |
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 6 月前 |
![]() |
Die4Toast · 递归调用成员箭头运算符-> 6 月前 |
![]() |
Anka Hanım · 关于结构和动态数组地址的问题 6 月前 |