📅  最后修改于: 2023-12-03 15:37:34.540000             🧑  作者: Mango
在C++ STL中,back()函数是一个容器类模板的成员函数,可以返回容器中的最后一个元素。back()函数适用于STL中的大多数容器,包括vector、deque、list等。
back()函数的声明如下:
reference back();
const_reference back() const;
其中,reference指向容器中元素的类型的引用,const_reference是reference的const限定符,指示返回的引用是只读的。这意味着,如果该容器是非常量容器,则可以通过back()返回的引用修改容器中最后一个元素的值。如果该容器是常量容器,则back()函数只能返回一个只读引用,不能修改该容器中最后一个元素的值。
下面是一个示例,演示了如何使用back()函数:
#include <iostream>
#include <vector>
int main()
{
std::vector<int> my_vector{ 1, 2, 3, 4 };
std::cout << "The last element in my_vector is " << my_vector.back() << std::endl;
my_vector.back() = 5;
std::cout << "After modifying the last element, my_vector is now:";
for (auto i : my_vector)
std::cout << ' ' << i;
std::cout << std::endl;
return 0;
}
运行结果为:
The last element in my_vector is 4
After modifying the last element, my_vector is now: 1 2 3 5
上述示例中,my_vector.back()返回一个引用,指向容器my_vector中最后一个元素的值。在修改该引用的值后,my_vector中最后一个元素的值由4变为5。
需要注意的是,如果容器为空(即size()为0),则back()函数的行为是未定义的,有可能会导致程序崩溃。因此,在使用back()函数时,应当首先检查容器是否为空。
back()函数在C++ STL中是一个常用的函数,可以方便地获取容器中的最后一个元素,并且可以通过返回的引用修改容器中最后一个元素的值。当然,在使用back()函数时,也要遵循一些注意事项。