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