在C++中,data()
函數(shù)通常用于從容器(如std::vector
、std::string
或std::array
)中獲取指向底層數(shù)據(jù)的指針
data()
函數(shù)獲取指向底層數(shù)據(jù)的指針。以下是一個(gè)使用std::vector
的示例:
#include<iostream>
#include<vector>
int main() {
// 創(chuàng)建一個(gè)包含一些整數(shù)的向量
std::vector<int> vec = {1, 2, 3, 4, 5};
// 使用 data() 函數(shù)獲取指向底層數(shù)據(jù)的指針
int* ptr = vec.data();
// 使用指針訪問和操作向量中的元素
for (size_t i = 0; i < vec.size(); ++i) {
std::cout << "Element " << i << ": " << *(ptr + i)<< std::endl;
}
// 修改向量中的第一個(gè)元素
*ptr = 42;
// 輸出修改后的向量
std::cout << "Modified vector: ";
for (const auto& elem : vec) {
std::cout<< elem << ' ';
}
std::cout<< std::endl;
return 0;
}
這個(gè)程序首先創(chuàng)建了一個(gè)包含整數(shù)的std::vector
,然后使用data()
函數(shù)獲取指向底層數(shù)據(jù)的指針。接著,程序使用指針訪問和操作向量中的元素,并在修改后輸出向量。
請(qǐng)注意,這個(gè)示例僅適用于支持data()
函數(shù)的容器。對(duì)于不支持data()
函數(shù)的容器,您需要使用其他方法來獲取指向底層數(shù)據(jù)的指針。