【发布时间】:2019-10-18 05:35:55
【问题描述】:
下面的 c++ code 是我们如何从向量中打印元素的示例。
#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};
【问题讨论】:
-
什么是
it*?作为新用户,请从tour 开始阅读How to Ask。 -
一般迭代循环写成
for (ptr = ar.begin(); ptr != ar.end(); ptr++)。我不明白为什么'<'也不起作用,但您没有看到参考引用使用它。 -
您是想从
ar创建一个一维数组,还是只想从现有的int array[i] ={ 1, 2, 3, 4, 5 }中得到精确的输出? (记得 C++ 中没有 VLA,除非通过非标准扩展)