vector :: front(),vector :: back(),vector :: at()和vector :: data()函数|示例 C ++ STL

vector :: front(),vector :: back(),vector :: at()和vector :: data()函数是vector类的预定义函数,用于C ++ STL中的向量元素访问。

  1. vector :: front()
    返回对向量的第一个元素的引用,即可以说它返回向量的第一个元素。

  2. vector :: back()
    返回对向量的最后一个元素的引用,即可以说它返回向量的最后一个元素。

  3. vector :: at(i)
    返回对向量的i元素的引用,即可以说它返回向量的i元素。

  4. 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
猜你喜欢