当所需的空间大小未知时,使用内存中的空间
C++ Using a space in memory when the required size is unknown
我正在用c++做一个小项目,在这个项目中,一个操作的完整结果最终将被写入一个文件。这个操作是在一个可能很大的矩阵的小块上完成的。由于每次处理块时不断地向磁盘写入似乎相当低效,因此我认为最好将所有部分结果存储在内存中,然后只向文件写入一次。问题在于,处理每个数据块的输出大小可能是可变的,并且在处理之前无法知道所需的大小。所以我想知道,我可以用什么作为缓冲区来存储所有的部分结果?我想过使用矢量,但由于我对c++不太熟悉,我想我会问是否有更好的方法。
of流已经被缓冲,C文件流也是。在这两种情况下,操作系统执行缓冲和I/O调度。
只要天真地使用它们,不要担心重新发明它,除非分析显示您的I/O是瓶颈。
相关文章:
- 可用存储空间会消耗更多剩余内存吗?
- 当注入程序的内存空间时,如何读取从 0 到 0xFFFFFFFFF 的每个字节?我正在创建模式扫描仪
- 任务管理器 - C/C++ 应用程序 - 分配的地址空间与已用内存
- 为什么不同的翻译单元没有独立和沙盒的内存空间?
- 我的boost managed_shared_memory在离开作用域时似乎不会从内存空间中取消映射
- 是否可以在专用内存空间中分配一个为提升管理共享内存而创建的对象
- Valgrind 声称内存释放中的自由空间太多
- 为什么我只能在 4 GB 的虚拟内存空间上分配 2 GB?
- 为什么共享内存(在IPC中)不需要上下文切换?这是内核空间的内存,可以映射到用户空间
- OPENCL-如何使辅助功能返回阵列并将内存的部分从恒定内存空间转移到私有
- 为多维数组创建内存空间
- 如何使用 windbg "dt"命令从命名空间污染的内存转储中获取信息
- 将节点添加到链接列表中,而无需明确分配内存空间(无需使用新)
- 内存空间的反转方向?
- 打开文件*以增加内存空间
- 将uint32_t添加到不同命名空间中的队列时出现内存泄漏
- 为什么堆栈中的函数局部变量之间存在内存空间
- 只有当声明一个对象时,内存空间才会分配给类的数据成员,那么为什么 Sizeof(class_name) 给我结果
- C++内存分配/释放和自由空间错误
- 使用linux用户空间内存进行缓存