首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Iterator分解

Iterator分解
EN

Stack Overflow用户
提问于 2013-08-10 12:46:17
回答 2查看 622关注 0票数 1

我在c++中使用一个向量,

代码语言:javascript
复制
vector<Agents> agentlist;

为什么要这样做,

代码语言:javascript
复制
(agentlist.begin() )->print();

这不是吗?

代码语言:javascript
复制
*(agentlist.begin() ).print();

使用*取消迭代器引用不是有效的吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-10 12:48:56

参见算子优先.的优先级高于*

代码语言:javascript
复制
*(agentlist.begin()).print();

表示为:

代码语言:javascript
复制
*((agentlist.begin()).print());

当迭代器没有.print()函数调用时,编译器会抛出编译错误。

你需要:

代码语言:javascript
复制
 agentlist.begin()->print();  or  (*agentlist.begin()).print();
票数 2
EN

Stack Overflow用户

发布于 2013-08-10 12:49:09

尝试使用(*(agentlist.begin())).print(); :)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18162030

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档