C++ List::back() 函数



C++ 的 std::list::back() 函数用于检索列表中最后一个元素的引用。

在 C++ 中,引用是一个值,它使程序能够间接访问特定数据,例如变量或记录。如果当前容器(或列表)非空,则表达式 list.back() 等效于 *std::prev(list.end())。如果当前列表(int 类型)为空,则 back() 函数返回零。

对空列表调用 back() 函数会导致未定义的行为。

语法

以下是 C++ std::list::back() 函数的语法:

reference back();   

参数

  • 它不接受任何参数。

返回值

此函数返回列表中最后一个元素的引用。

示例 1

在下面的程序中,我们使用 std::list::back() 函数显示当前列表 {1,2,3,4,5} 的最后一个元素。

#include<iostream>
#include<list>
using namespace std;

int main() {
   //create an integer list
   list<int> l = {1, 2, 3, 4, 5};
   cout<<"The list elements are: ";
   for(int lst : l){
      cout<<lst<<" ";
   }
   cout<<"\nLast element of the list is: "<<l.back()<< endl;
   return 0;
}

输出

执行上述程序后,将产生以下输出:

The list elements are: 1 2 3 4 5 
Last element of the list is: 5

示例 2

以下是 std::list::back() 函数的另一个示例,这里我们创建一个名为 char_list 的列表(char 类型),其值为 {'a','b','c','d','e'}。然后,使用 back() 函数,我们尝试检索当前列表的最后一个元素。

#include <iostream>
#include <list>
using namespace std;

int main() {
   //create a character list
   list<char>char_list = {'a','b','c','d','e'};
   cout<<"The list elements are: ";
   for(char lst : char_list){
      cout<<lst<<" ";
   }
   cout<<"\nLast element of the list is: "<<char_list.back()<< endl;
   return 0;
}

输出

以下是上述程序的输出:

The list elements are: a b c d e 
Last element of the list is: e

示例 3

如果当前列表是字符串类型。

以下程序显示当前列表(字符串类型){'Aman', 'Rohit', 'Rahul', 'Reeta'} 的最后一个元素。

#include <iostream>
#include <list>
#include<string>
using namespace std;

int main() {
   list<string> Name;
   Name.push_back("Aman");
   Name.push_back("Rohit");
   Name.push_back("Rahul");
   Name.push_back("Reeta");
   cout<<"The list elements are: ";
   for(string s: Name){
      cout<<s<<" ";
   }
   string name = Name.front();
   cout <<"\nThe first element in list is: "<<name;
   return 0;
}

输出

上述程序生成的输出如下:

The list elements are: Aman Rohit Rahul Reeta 
The first element in list is: Reeta

示例 4

如果列表(int 类型)为空,此函数返回零 (0)。

在这个程序中,我们创建一个空列表(int 类型)。然后,使用 std::list::back() 函数,我们尝试获取当前列表(空)的最后一个元素。

#include <iostream>
#include <list>
using namespace std;

int main() {
   //create a character list
   list<int> l = {};
   cout<<"The list elements are: ";
   for(int lst : l){
      cout<<lst<<" ";
   }
   cout<<"\nLast element of the list is: "<<l.back()<<endl;
   return 0;
}

输出

上述程序生成以下输出:

The list elements are: 
Last element of the list is: 0

示例 5

在下面的示例中,我们创建一个值为 {'A', 'B','C', 'D'} 的列表(char 类型)。然后,我们声明一个名为 result 的 int 变量,它存储 list.back() 函数的值,当我们打印它的值时,它显示此列表最后一个元素的 ASCII 值。

#include <iostream>
#include <list>
using namespace std;

int main() {
   list<char> char_list = {'A', 'B', 'C', 'D'};
   cout<<"The list elements are: ";
   for(char lst: char_list){
      cout<<lst<<" ";
   }
   //declare an int variable
   int result;
   result = char_list.back();
   cout<<"\nLast element of the list is: "<<char_list.back()<<endl;
   cout<<"The ASCII value of "<<char_list.back()<<" is: "<<result;
}

输出

执行上述程序后,它会产生以下输出:

The list elements are: A B C D 
Last element of the list is: D
The ASCII value of D is: 68
广告