(c++)有关于vector的问题
#include <iostream>
#include<vector>
using namespace std;
int main(){
vector<int> ival;
int ia[10]={1,1,2,3,4};
ival.push_back(ia[10]);
ival[0]=0;
for(vector<int>::iterator iter=ival.begin();iter!=ival.end();++iter)
cout<<*iter;
return 0;
}
为什么最后的输出只有0呢?
[解决办法]
for(int i = 0; i < 10; i++)
{
ival.push_back(ia[i]);
}
[解决办法]
int main()
{
int ia[10]={1,1,2,3,4};
vector<int> ival(&ia[0], &ia[5]);
ival[0]=0;
for(vector<int>::iterator iter=ival.begin();iter!=ival.end();++iter)
cout<<*iter;
return 0;
}
[解决办法]
#include <iostream>
#include<vector>
using namespace std;
int main(){
vector<int> ival;
int ia[10]={1,1,2,3,4};
ival.push_back(ia[10]);
ival[0]=0;
for(vector<int>::iterator iter=ival.begin();iter!=ival.end();++iter)
cout<<*iter;
return 0;
}
为什么最后的输出只有0呢?
貌似楼主的本意是要把这个数组所有的数据就放进vector里面,那你应该不是这样做吧?
导入部分应该这样写
for (int i=0;ia[i];i++)
{
ival.push_back(ia[i]);
}
[解决办法]
vector<int> const ival = {0, 1, 2, 3, 4, 10};
for(auto data : ival){
std::cout<<data<<std::endl;
}