gpt4 book ai didi

c++ - 将 *pointer 元素转换为一维数组

转载 作者:搜寻专家 更新时间:2023-10-31 01:24:09 25 4
gpt4 key购买 nike

下面的 c++ code是一个示例,说明我们如何从 vector 中打印元素。

 #include<iostream> 
#include<iterator> // for iterators
#include<vector> // for vectors
using namespace std;
int main()
{
vector<int> ar = { 1, 2, 3, 4, 5 };

// Declaring iterator to a vector
vector<int>::iterator ptr;

// Displaying vector elements using begin() and end()
cout << "The vector elements are : ";
for (ptr = ar.begin(); ptr < ar.end(); ptr++)
cout << *ptr << " ";

return 0;
}

我的问题是我们如何从 ptr* 转换元素,并使其成为一维数组?

数组的元素将取决于我从 *ptr 获得的元素数量。

例如,我的输出数组是这样的:

int array[i] ={ 1, 2, 3, 4, 5};

最佳答案

您可以使用 std::vector::data() 获取指向 vector 数据空间的指针

int *array = ar.data(); // Notice the pointer notation and please avoid name 'array'

for( int i =0; i < ar.size(); i++) {
std::cout << array[i] <<'\n';
}

关于c++ - 将 *pointer 元素转换为一维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58444533/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com