C++ (de) 序列化项的向量顺序
C++ (de) serializing a vector order of items
这可能看起来微不足道,但我需要确定。
当将 std::vector 序列化为文件,然后将其从磁盘反序列化到内存时,向量中项目的索引是否保证相同(假设我在内存中没有有意识地更改它)?
简单地说,威尔
std::vector<int> v = {1, 2, 3, 4};
总是按该顺序排列项目?
如果它有任何重要性,我正在使用谷物进行(反)序列化。
谢谢!
PS:以上有例外吗?
这取决于您的序列化。通常,反序列化的序列化顺序必须始终相同,因为其他所有内容都会损坏从中反序列化内容的流。
在您的情况下,您应该深入研究谷物文档或询问他们是否保证订单,但我希望行为是一致的。
一个可能的瀑布可能是地图(您在此处未提及),因为地图的内部结构不是添加数据的顺序(大多数情况下)
相关文章:
- 从数组中删除非唯一值、保持顺序和不使用向量的最佳方法?
- 按类成员的顺序对包含类对象的C++向量进行排序
- C++ 按数值对元组<字符串、浮点数>然后按字典顺序排序的向量
- 删除C++中向量中第一个最小的数字(并保持顺序)
- 在 C++98/03 中以相反的顺序将 C 数组附加到向量,而无需 for 循环
- C 在向量的向量中按字母顺序排序字符串
- 如何将int分解为数字并以相同的顺序为向量分配数字
- 带有矢量切片的矢量指针,用于从预序和顺序向量生成树
- 如何以相反的顺序将整个向量复制到队列中
- Rcpp:按另一个向量的顺序重新排列一个向量
- 如何将整数向量转换为 2 位十六进制并按顺序添加到 c 字符串?
- 如何使用 std::shuffle 以随机顺序对具有唯一指针的向量进行洗牌
- 使用多个线程的并行向量乘法比顺序乘法需要更长的时间
- C++ 向量::clear() - 销毁顺序
- 如何按顺序删除向量中的重复值
- 字母顺序的C 排序向量
- 如何按C 中的向量对升序和下降顺序进行排序
- 如何通过私有字符串变量按字母顺序对对象向量进行排序
- 在 c++ 中给出两个整数向量(大小和类型相同),我想从最小到最大元素对一个进行排序,并更改第二个向量的顺序
- C++ (de) 序列化项的向量顺序