在 C++ 中,我们经常需要遍历容器(如 std::vector
、std::list
等)来访问其中的元素。特别是当容器存储的是复杂对象(如 std::string
)时,遍历的方式会直接影响到程序的性能和内存开销。本文将深入探讨为什么在遍历 std::vector<std::string>
时,使用 const std::string&
作为循环变量比使用值传递更优,尤其是在涉及到性能优化时。
遍历容器的常见方式
在 C++ 中,常用的遍历 std::vector
的方式有两种:
-
基于索引的遍历:
for (int i = 0; i < vec.size()