C++STL迭代器的问题,迭代器只是一个地址么?会是数组么?
ostream_iterator<int>myout(cout,"\t");istream_iterator<int>a(cin);请问cout,cin代表什么?“\t”...
ostream_iterator<int>myout(cout,"\t");
istream_iterator<int>a(cin);
请问cout,cin 代表什么?“\t”代表什么哈? 展开
istream_iterator<int>a(cin);
请问cout,cin 代表什么?“\t”代表什么哈? 展开
1个回答
展开全部
迭代器不是“地址”,它是对象的一个逻辑的位置信息,不明白你所谓的“数组”什么意思,iterator当然指向的是单个对象
cin代表的是一个输入流,其能读入的东西当然也可以看作一个序列对象,因此也可以有逻辑地址。不要把“指针”“iterator”一定和链表之类的容器联系起来
cin代表的是一个输入流,其能读入的东西当然也可以看作一个序列对象,因此也可以有逻辑地址。不要把“指针”“iterator”一定和链表之类的容器联系起来
更多追问追答
追问
int main(int argc,char* argv[])
{
coutmyout(cout,"\t");
*myout=1;
myout++;
*myout=2;
myout++;
*myout=3;
return 0;
}
是这个函数中,\t有什么作用哈?输出语句是哪个呢?没找到哈
追答
每找到是因为你没思考iterator和流的关系,要明白"iterator"和对应的对象的关系。既然iterator指向输出流的对象,那么给这个iterator赋值,就是输出了
至于"\t"是啥,你看一下MSDN立刻就该知道了,这是“分隔符”
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询