标题:容器类操作
只看楼主
vfdff
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:2172
专家分:425
注 册:2005-7-15
结帖率:79.17%
已结贴  问题点数:2 回复次数:6 
容器类操作
定义了 vector<int> vec(100);
       vector<int>::iterator p;后
p = vec.begin() 和 p = &vec[0] 有什么区别?
搜索更多相关主题的帖子: 容器 
2009-09-21 14:36
gz81
Rank: 5Rank: 5
等 级:职业侠客
帖 子:137
专家分:369
注 册:2008-5-1
得分:0 
问题点数:2

我的空间:http://student./space.php?uid=116706
2009-09-21 16:11
gz81
Rank: 5Rank: 5
等 级:职业侠客
帖 子:137
专家分:369
注 册:2008-5-1
得分:2 
vector<int> vec(100);
vector<int>::iterator p;
p = &vec[0];  ---->这里编译不通过吧?好像要通过强制转换才行,如下:

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

vector<int> ivec;
 vector<int>::iterator it;
ivec.push_back(3);
it=(vector<int>::iterator)&ivec[0];
cout<<*it;

}




但当vector中没元素时,ivec.begin()是有意义的,&ivec[0]是没定义的使用它肯定报错。

vector<int> ivec;
if (ivec.begin()==ivec.end())   //正确
{
    //...
};



[ 本帖最后由 gz81 于 2009-9-21 16:24 编辑 ]

我的空间:http://student./space.php?uid=116706
2009-09-21 16:13
forclwy
Rank: 4
等 级:业余侠客
帖 子:167
专家分:255
注 册:2008-10-21
得分:0 
厉害
2009-09-21 19:20
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
得分:0 
建议看看设计模式-迭代器。里面讲的比较清楚。。。


学习需要安静。。海盗要重新来过。。
2009-09-21 20:19
vfdff
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:2172
专家分:425
注 册:2005-7-15
得分:0 
回复 3楼 gz81
#include <iostream>
#include <vector>
using namespace std;

int main()
{   
    vector<int> ivec;
    vector<int>::iterator it;
    //ivec.push_back(3);
    it=(vector<int>::iterator)&ivec[0];
    it=ivec.begin();
    //cout<<*it<<endl;

    return 0;   
}
刚才试过了,没有进行ivec.push_back(3);时  ivec;为空,it=(vector<int>::iterator)&ivec[0];操作扔来可以

~~~~~~~~~~~~~~~好好学习~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2009-09-21 23:15
vfdff
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:2172
专家分:425
注 册:2005-7-15
得分:0 
下午在外面没有编译器,现在用VC试过了,了解了!

~~~~~~~~~~~~~~~好好学习~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2009-09-21 23:33



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-286357-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.653421 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved