当前位置:首页 C++ > 正文

C++ vector 的 begin()、end()、front()、back() 区别

作者:野牛程序员:2023-08-10 15:43:14 C++阅读 3609

在C++中,std::vector是一个动态数组,提供了许多操作来管理其元素。以下是std::vector的几个常用成员函数:begin()end()front()back(),它们用于访问容器中的元素或位置。这里是它们的区别:

  1. begin()begin()函数返回一个指向容器中第一个元素的迭代器。可以通过解引用该迭代器来访问第一个元素的值。如果容器为空,begin()将返回一个与end()相等的迭代器。

std::vector<int> myVector = {1, 2, 3, 4, 5};
std::vector<int>::iterator it = myVector.begin();
int firstElement = *it; // 访问第一个元素的值
  1. end()end()函数返回一个指向容器末尾(最后一个元素的下一个位置)的迭代器。它指向一个不存在的元素,常用于遍历容器时的终止条件。

std::vector<int> myVector = {1, 2, 3, 4, 5};
std::vector<int>::iterator it = myVector.end(); // 注意,这并不是最后一个元素
  1. front()front()函数返回容器中第一个元素的引用。它是一个常量时间操作,因为只需要访问第一个元素,不涉及遍历。

std::vector<int> myVector = {1, 2, 3, 4, 5};
int firstElement = myVector.front(); // 访问第一个元素的值
  1. back()back()函数返回容器中最后一个元素的引用。类似于front(),它也是一个常量时间操作。

std::vector<int> myVector = {1, 2, 3, 4, 5};
int lastElement = myVector.back(); // 访问最后一个元素的值

综上所述,这些函数提供了访问std::vector元素的不同方式:begin()end()用于遍历容器,front()back()用于直接访问容器的首尾元素。请注意,使用这些函数时需要确保容器不为空,否则可能会导致未定义的行为。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击