C++ vector::end() 函数以及如何获取最后一个元素方法
作者:野牛程序员:2023-08-08 12:33:50 C++阅读 4398
vector::end()
是C++标准库中 std::vector
类的一个成员函数,它返回一个指向容器中最后一个元素之后位置的迭代器。注意,这个迭代器并不指向最后一个元素本身,而是指向容器的末尾。
要获取 vector
容器中的最后一个元素,你可以使用 vector::back()
函数,它返回一个对最后一个元素的引用。这是一个常用的方法,非常方便。
以下是一个示例代码,演示如何使用 end()
和 back()
函数:
#include <iostream> #include <vector> int main() { std::vector<int> numbers = {1, 2, 3, 4, 5}; // 使用 end() 获取指向容器末尾的迭代器 std::vector<int>::iterator it = numbers.end(); // 这不是指向最后一个元素,而是指向容器的末尾 // 使用 back() 获取最后一个元素 int lastElement = numbers.back(); std::cout << "Value from end(): " << *it << std::endl; // 这将导致未定义行为,不要这样做! std::cout << "Last element: " << lastElement << std::endl; return 0; }
注意,end()
函数返回的是一个指向容器末尾的迭代器,而不是指向最后一个元素。如果你尝试对 end()
返回的迭代器解引用,会导致未定义行为。如果你需要最后一个元素本身,应该使用 back()
函数。
总之,end()
函数用于遍历元素,而 back()
函数用于获取最后一个元素的值。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892