vector复制给数组的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vector复制给数组的问题相关的知识,希望对你有一定的参考价值。

#include<iostream>
#include<vector>
using namespace std;
int main()

vector<int> ivec;
int val;
cout<<"Enter number"<<endl;
while(cin>>val)
ivec.push_back(val);
int *ptr=new int[ivec.size()];
size_t i=0;
for(vector<int>::iterator iter=ivec.begin();iter!=ivec.end();++iter,++i)
ptr[i]=*iter;
for(vector<int>::size_type j=0;j!=i+1;++j)
cout<<ptr[j]<<" ";
return 0;


最后输出数组为什么会有-33686019?

参考技术A //pt[ix]和pt++一起用导致的错误,应用另一个指针保存首地址
#include <iostream>
#include <vector>
using namespace std;// 编写程序把int 型vector 复制给int 型数组。
int main()

int word;
vector<int> num;
while(cin >> word)
num.push_back(word);
int len = num.size();
int *pt = new int[len],*p=pt;
size_t ix=0;
for (vector<int>::iterator iter=num.begin();iter!=num.end();++iter,++p,++ix)

pt[ix] = *iter;
cout<<*p<<" "<<*iter<<" "<<pt[ix]<<" | ";
delete [] pt;
return 0;
参考技术B begin返回指向第一个元素的迭代器,
end返回最后一个元素的下一个元素的迭代器。
是这种类型:vector<T>::iterator 最后j!=i;

以上是关于vector复制给数组的问题的主要内容,如果未能解决你的问题,请参考以下文章

如何在不循环的情况下将数组的内容复制到 C++ 中的 std::vector?

关于将vector元素复制到数组

如何根据数组索引从数组复制到 Vector256,反之亦然?

在 C++ std::vector 和 C 数组之间转换而不复制

python numpy数组中的复制问题

如何将 std::vector<float> 转换为浮点数组? [复制]