vector :: data()函数,以及C ++ STL中的示例
C++vector::data()函数
vector::data()是“vector”头文件的库函数,用于访问矢量元素,它返回一个指针,该指针指向矢量内部用于存储元素的内存数组。
注意:要使用向量,请包含<vector>标头。
vector::data()函数的语法
vector::data();
参数:无–不接受任何内容。
返回值:value_type*–返回指向向量内部使用的数组中第一个元素的指针。
示例
Input:
vector<int> vector1{ 1, 2, 3, 4, 5 };
//声明一个相同类型的指针
int* ptr = vector1.data();
Accessing elements:
cout << *ptr << endl;
ptr++;
cout << *ptr << endl;
Output:
1
2C++程序演示vector::data()函数的示例
//C++STL程序演示示例
//vector::data()函数
#include <iostream>
#include <vector>
using namespace std;
int main(){
vector<int> v1{ 10, 20, 30, 40, 50 };
//声明一个相同类型的指针
int* ptr = v1.data();
//打印所有元素
//使用vector::data()函数
cout << "all elements of vector v1..." << endl;
for (int i = 0; i < v1.size(); i++) {
cout << "element at index " << i << " : " << *ptr << endl;
//指针增加
ptr++;
}
//更新一些元素
//再次初始化指针
ptr = v1.data();
*(ptr + 0) = 100;
*(ptr + 1) = 200;
*(ptr + 2) = 300;
//更新后,打印所有元素
//使用vector::data()函数
cout << "all elements of vector v1..." << endl;
for (int i = 0; i < v1.size(); i++) {
cout << "element at index " << i << " : " << *ptr << endl;
//指针增加
ptr++;
}
return 0;
}输出结果
all elements of vector v1... element at index 0 : 10 element at index 1 : 20 element at index 2 : 30 element at index 3 : 40 element at index 4 : 50 all elements of vector v1... element at index 0 : 100 element at index 1 : 200 element at index 2 : 300 element at index 3 : 40 element at index 4 : 50
参考:C++vector::data()