c++ - 我用什么来获得更好的性能:成对向量还是二维数组?
问题描述
我应该使用什么来获得更好的性能:vector<pair<string, string>>
或者string myArray[10][2]
(10 是示例编号,2 因为我需要存储 2 个字符串),或者我应该坚持一些更好的方法?
解决方案
为了获得更好的性能,您应该使用速度更快的那个。
如果两者都没有明显更快,那么您应该使用更方便的那个。
您可以通过测量找出程序中哪个更快。它可能是任何一种,这取决于你如何使用它们。
还是我应该坚持一些更好的方法?
在某些情况下,将所有字符串的内存分配在一个大块中而不是使用单独的std::string
对象可能会更有效。
PSstd::pair
很少是一个好的选择。通常,最好使用自定义类,您可以在其中为两个子对象提供描述性名称。
推荐阅读
- ruby-on-rails - 覆盖 ruby 类中的 module_function 并访问原始文件
- node.js - 有人可以检查以下概念功能是否为“非阻塞”
- ios - 关闭视图控制器后约束崩溃
- django - 从 Dropbox 下载 Django GET 请求
- reactjs - Material-UI + TypeScript 给出 ReferenceError: global is not defined
- python - python3找不到平台独立库
- deep-learning - PyTorch 中的两层神经网络不收敛
- node.js - eslint 不必要地警告 Firestore 事务的“承诺/无嵌套”
- c++ - 在此指针上放置新的
- vsphere - 无法初始化构建“vsphere-iso”:未找到构建器类型:vsphere-iso