C++中vector容器与迭代器问题?
#include<iostream>#include<vector>#include<string>usingnamespacestd;voidmain(){vector...
#include <iostream>
#include <vector>
#include <string>
using namespace std;
void main()
{
vector<int> v(3);
v[0]=0;
v[1]=1;
v.push_back(3);
vector<int>::iterator first=v.begin();
vector<int>::iterator last=v.end();
while(first!=last)
cout<<*first++<<" ";
cout<<endl;
system("pause");
}
我想问问,那个first last是哪来的,系统本来就有的函数还是vector<int>::iterator first=v.begin();这个语句定义出来的?还有就是输出结果怎么是0 1 0 3
为什么不是0 1 3 书上照抄的原题,把我整晕了都...
vector<int>::iterator first=v.begin();那么把first改为其他的aaa ddd之类的效果是一样的吧?
为什么这个程序课本上的运行结果是013? 展开
#include <vector>
#include <string>
using namespace std;
void main()
{
vector<int> v(3);
v[0]=0;
v[1]=1;
v.push_back(3);
vector<int>::iterator first=v.begin();
vector<int>::iterator last=v.end();
while(first!=last)
cout<<*first++<<" ";
cout<<endl;
system("pause");
}
我想问问,那个first last是哪来的,系统本来就有的函数还是vector<int>::iterator first=v.begin();这个语句定义出来的?还有就是输出结果怎么是0 1 0 3
为什么不是0 1 3 书上照抄的原题,把我整晕了都...
vector<int>::iterator first=v.begin();那么把first改为其他的aaa ddd之类的效果是一样的吧?
为什么这个程序课本上的运行结果是013? 展开
展开全部
vector<int> v(3); //定义这个时,v中已经有三个元素,全部是0
v[0]=0;
v[1]=1;//现在v中元素是0 1 0
v.push_back(3); //现在v中元素是0 1 0 3
first last是迭代器,
vector<int>::iterator first=v.begin();
vector<int>::iterator last=v.end();
这里定义出来的
=========================
书上的也不一定是全对的,另外first last只是为了好记,起一个好记的变量名称也算是程序员的一种能力
v[0]=0;
v[1]=1;//现在v中元素是0 1 0
v.push_back(3); //现在v中元素是0 1 0 3
first last是迭代器,
vector<int>::iterator first=v.begin();
vector<int>::iterator last=v.end();
这里定义出来的
=========================
书上的也不一定是全对的,另外first last只是为了好记,起一个好记的变量名称也算是程序员的一种能力
展开全部
你的代码跟书上的一样的吗?书上有错误也是正常的,不要过分的相信课本上的,要相信实验结果。
对,效果是一样的,只不过定义成first,last更直观一点。因为如果做工程的话,你的程序就不只是只有你看,也要让别人看得懂。要养成好习惯才行。
#include <iostream>
#include <vector>
#include <string>
using namespace std;
void main()
{
vector<int> v(3); //容器
v[0]=0;
v[1]=1; //赋值
//你定义了容量为3的容器,默认赋值为0,然后你给v[0],v[1]重新赋值了。
//但里面还是有三个元素,不信你可以输出来看看,输出来结果为 0 1 0
v.push_back(3); //另一种赋值方法
//把3放到容器中
vector<int>::iterator first=v.begin(); //迭代器
vector<int>::iterator last=v.end();
while(first!=last) //比较到结尾了没有
cout<<*first++<<" "; //先输出first中的值,然后后移一位
cout<<endl;
system("pause");
}
//first last都是vector<int>::iterator first=v.begin();这个语句定义出
//来的
对,效果是一样的,只不过定义成first,last更直观一点。因为如果做工程的话,你的程序就不只是只有你看,也要让别人看得懂。要养成好习惯才行。
#include <iostream>
#include <vector>
#include <string>
using namespace std;
void main()
{
vector<int> v(3); //容器
v[0]=0;
v[1]=1; //赋值
//你定义了容量为3的容器,默认赋值为0,然后你给v[0],v[1]重新赋值了。
//但里面还是有三个元素,不信你可以输出来看看,输出来结果为 0 1 0
v.push_back(3); //另一种赋值方法
//把3放到容器中
vector<int>::iterator first=v.begin(); //迭代器
vector<int>::iterator last=v.end();
while(first!=last) //比较到结尾了没有
cout<<*first++<<" "; //先输出first中的值,然后后移一位
cout<<endl;
system("pause");
}
//first last都是vector<int>::iterator first=v.begin();这个语句定义出
//来的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询