📜  在C++ STL中列出back()函数(1)

📅  最后修改于: 2023-12-03 15:37:34.540000             🧑  作者: Mango

C++ STL中的back()函数介绍

简介

在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()函数时,也要遵循一些注意事项。