向量在C ++中的最后一个元素(访问和更新)

在本文中,我们将讨论在C ++中访问和更新向量的最后一个元素的方法。

什么是矢量模板?

向量是序列容器,其大小会动态更改。容器是保存相同类型数据的对象。序列容器严格按线性序列存储元素。

向量容器将元素存储在连续的内存位置,并允许使用下标运算符[]直接访问任何元素。与数组不同,向量的大小是动态的。向量的存储将自动处理。

向量的定义

Template <class T, class Alloc = allocator<T>> class vector;

向量参数

该函数接受以下参数-

  • T-这是包含的元素的类型。

  • Alloc-这是分配器对象的类型。

我们如何访问向量的最后一个元素?

要访问向量的最后一个元素,我们可以使用两种方法:

示例

使用back()函数

#include <bits/stdc++.h>
using namespace std;
int main(){
   vector<int> vec = {11, 22, 33, 44, 55};
   cout<<"Elements in the vector before updating: ";
   for(auto i = vec.begin(); i!= vec.end(); ++i){
      cout << *i << " ";
   }
   // call back() for fetching last element
   cout<<"\nLast element in vector is: "<<vec.back();
   vec.back() = 66;
   cout<<"\nElements in the vector before updating: ";
   for(auto i = vec.begin(); i!= vec.end(); ++i){
      cout << *i << " ";
   }
   return 0;
}

输出结果

如果我们运行上面的代码,它将生成以下输出-

Elements in the vector before updating: 11 22 33 44 55
Last element in vector is: 55
Elements in the vector before updating: 11 22 33 44 66

示例

使用size()函数

#include <bits/stdc++.h>
using namespace std;
int main(){
   vector<int> vec = {11, 22, 33, 44, 55};
   cout<<"Elements in the vector before updating: ";
   for(auto i = vec.begin(); i!= vec.end(); ++i){
      cout << *i << " ";
   }
   // call size() for fetching last element
   int last = vec.size();
   cout<<"\nLast element in vector is: "<<vec[last-1];
   vec[last-1] = 66;
   cout<<"\nElements in the vector before updating: ";
   for(auto i = vec.begin(); i!= vec.end(); ++i){
      cout << *i <<" ";
   }
   return 0;
}

输出结果

如果我们运行上面的代码,它将生成以下输出-

Elements in the vector before updating: 11 22 33 44 55
Last element in vector is: 55
Elements in the vector before updating: 11 22 33 44 66