标题:一个关于list容器的不解之处
只看楼主
yanglinayp
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2006-3-21
 问题点数:0 回复次数:5 
一个关于list容器的不解之处

下面这段程序我有些不解,请求大家帮助!!
list容器在内存中存储不是连续的,它可以使用迭加器p++来进行下一个数的查找吗?

#include<iostream>
#include<list>
using namespace std;
int main(){
list<char>lst1;
int i;
for(i=0;i<10;i+=2)lst1.push_back('a'+i);
list<char>::iterator p=lst1.begin();
while(p!=lst1.end()){cout<<*p;
p++;}
return 0;

}
搜索更多相关主题的帖子: 容器 list 
2006-05-15 21:00
giant
Rank: 1
等 级:新手上路
帖 子:180
专家分:0
注 册:2005-12-11
得分:0 

你这个程序就是使用迭加器p++来进行下一个数的查找的啊


2006-05-15 21:09
yanglinayp
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2006-3-21
得分:0 
对啊,我在c++primer上看到的iterator的算术论算不适于list,但在另外一本书又看到这个例子,于是我就想不通了,是我的理解不对吗?还请多多指教啊

我是小小登山者!
2006-05-15 21:21
giant
Rank: 1
等 级:新手上路
帖 子:180
专家分:0
注 册:2005-12-11
得分:0 
你理解错了,他说list容器的迭代器不支持的算术运算没有包括++,--,以及!=这些运算
象p++就是上面三种的一种++运算,这种运算是可以的。

2006-05-15 21:45
yanglinayp
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2006-3-21
得分:0 
那是不是除了这些外,++,--,以及!=这些运算,加标量的都不可以呢,像begin()+4这种的,list存储不连续,p++怎么就找到了呢??谢谢

我是小小登山者!
2006-05-15 21:56
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
得分:0 

我还没学list,估计是没有重载这种加法吧,呵呵,应该是没必要,所以才没重载。猜的


[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-05-15 22:59



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




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

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