我正在开发一个程序,我的“数据库”是一些 .csv 文件。
我在 .csv 中有一个对象列表,其中包含每个对象的一些信息。这是处理“数据”的最合适的方式。
- 使用 fstream,这意味着每次我想要修改数据,或者我想要读取某些内容时,我都会使用 fstream 工具直接处理我的文件
- 或者,在程序开始时,我会将数据加载到 vector 中,在 vector 上读取、写入,然后在程序结束时删除以前的文件并加载新文件。
在性能方面会有不同吗?考虑到对象数量众多。
最佳答案
我认为这更多的是一种组合,而不是选择 A 或 B。特别是仅选择 A 是不安全的,因为多个组件可以同时访问该文件。另外,如果有很多更新,那么每次都使用流可能会使您的代码变得非常慢。
因此,我认为您应该使用 B,但也要注意以安全的方式保存数据的实现(将数据写入文件中)。
关于数据结构,这个要看用途。这里要问的一个重要问题是是否有很多插入和删除。如果是这种情况,那么使用 list 会更有效。而不是 vector ,因为列表提供即时插入和 vector不适合此目的。
如果数据包含唯一属性并且需要快速查找,那么哈希或映射会更合适。
关于c++ - C++ 中的数据处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42356431/