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