c++ - 当 std::vector 只包含两个元素时使用它效率低吗?

标签 c++ vector

我正在构建一个 C++ 类 A需要包含一堆指向其他对象的指针 B .

为了使类(class)尽可能通用,我使用了 std::vector<B*>在这个类里面。这样任意数量的不同B可以在A举行(对可以有多少没有限制)。

现在这可能有点矫枉过正,因为大多数时候,我会使用 A 类型的对象只能容纳 2 或 4 B*在 vector 中。

由于将进行大量迭代计算,涉及类 A 的对象,我想知道使用 B 的 vector 是否涉及很多开销的时候只有两个 B需要的。

当少于 3 个时,我是否应该重载类以使用另一个容器 B在吗?

为了让事情更清楚: A 是多极和 B 是构成多极的磁性线圈

最佳答案

过早的优化。先让它工作。如果您分析您的应用程序并发现您需要更高的效率(在内存或性能方面),然后您可以更改它。否则,可能会浪费时间。

关于c++ - 当 std::vector 只包含两个元素时使用它效率低吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9996340/

相关文章:

C++ 未知变量类型。我应该使用模板吗?

c++ - 在 fwrite 调用中循环,直到写入缓冲区大小 C/C++

c++ - 为什么静态初始化顺序仍然未指定?

python - 为什么 Python 将元组作为向量添加到列表理解中,但将它们与 '+' 运算符连接起来?

c++ - C++ 中模板化别名的 Typedef

c++ - C++ 中的 vector 平衡点函数

c++ - 如何使用 std::function 自动扣除参数和返回类型的 lambda?

c++ - 是什么导致 "Undefined symbols for architecture x86_64"构建错误?

c++ - 复制模板化 vector

c++ - Stroustrup 天鹅书 vector 问题