vector :: front(),vector :: back(),vector :: at()和vector :: data()函数|示例 C ++ STL
vector::front(),vector::back(),vector::at()和vector::data()函数是vector类的预定义函数,用于C++STL中的向量元素访问。
vector::front()
返回对向量的第一个元素的引用,即可以说它返回向量的第一个元素。
vector::back()
返回对向量的最后一个元素的引用,即可以说它返回向量的最后一个元素。
vector::at(i)
返回对向量的第i个元素的引用,即可以说它返回向量的第i个元素。
vector::data()
我们知道,vector是一个动态数组,也可以像数组样式一样对其进行访问。vector::data()返回指向数组第一个元素的直接指针(由内存中的vector使用),我们可以访问所有元素。
示例
Input:
vector<int> num{10, 20, 30, 40, 50}
Output:
num.front(): 10
num.back(): 50
num.at(2): 30
All elements using vector::data(): 10 20 30 40 50程序:
#include <iostream>
#include <vector>
using namespace std;
int main() {
//声明向量
vector<int> num{10, 20, 30, 40, 50};
//vector:: front()
cout<< "num.front(): " << num.front() <<endl;
//向量:: back()
cout<< "num.back() : " << num.back() <<endl;
//vector:: at()
cout<< "num.at(2) : " << num.at(2) <<endl;
//vector::data()
int *ptr = num.data();
cout<< "All elements using vector::data () : ";
//注意:不需要使用向量迭代器
for( int i =0; i<num.size(); i++)
cout<< *(ptr+i) << " ";
cout<<endl;
return 0;
}输出结果
num.front(): 10
num.back() : 50
num.at(2) : 30
All elements using vector::data () : 10 20 30 40 50