C++ vector::end() 函数以及如何获取最后一个元素方法
作者:野牛程序员:2023-08-08 12:33:50 C++阅读 5193
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

