C++ std::vector: 访问值与返回迭代器的区别

在C++中,访问std::vector中的值和返回迭代器是两种不同的操作。

1. 访问值:

  • 使用下标操作符[]:可以直接访问指定位置的元素。 - 使用front()函数:获取第一个元素的值。 - 使用back()函数:获取最后一个元素的值。

这些操作返回的是元素的值本身,而不是迭代器。

示例代码:


int main() {       std::vector<int> myVector = {1, 2, 3, 4, 5};

    // 使用下标操作符 []       int value1 = myVector[0];       std::cout << 'First value: ' << value1 << std::endl;

    // 使用 front()       int value2 = myVector.front();       std::cout << 'First value: ' << value2 << std::endl;

    // 使用 back()       int value3 = myVector.back();       std::cout << 'Last value: ' << value3 << std::endl;

    return 0;   }   ```

**2. 返回迭代器:**

- 迭代器是一种指向`std::vector`元素的对象。   - 使用`begin()`函数:获取指向第一个元素的迭代器。   - 使用`end()`函数:获取指向最后一个元素下一个位置的迭代器(越界迭代器)。

迭代器常用于遍历、搜索或修改`std::vector`中的元素。

**示例代码:**

```cpp   #include <iostream>   #include <vector>

int main() {       std::vector<int> myVector = {1, 2, 3, 4, 5};

    // 使用迭代器遍历 vector 并输出值       for (std::vector<int>::iterator it = myVector.begin(); it != myVector.end(); ++it) {           std::cout << *it << ' ';        }       std::cout << std::endl;

    return 0;   }   ```

**注意事项:**

使用迭代器访问`std::vector`元素时,要确保迭代器指向的元素是有效的,避免出现未定义行为。

希望本文能够帮助你理解C++ `std::vector`中访问值和返回迭代器的区别。
C++ std::vector: 访问值与返回迭代器的区别

原文地址: https://www.cveoy.top/t/topic/rTi 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录