C++迭代器问题

请问一下,下面这段程序代码中,将首字母变为大写时为什么it前面要加一个*号,好像不加的话,程序也能运行啊strings("somestring");if(s.begin(... 请问一下,下面这段程序代码中,将首字母变为大写时为什么it前面要加一个*号,好像不加的话,程序也能运行啊
string s("some string");
if (s.begin()!=s.end())
{ auto it = s.begin();
*it = toupper(*it);
}
展开
 我来答
传薪网络
推荐于2016-03-23 · TA获得超过1355个赞
知道小有建树答主
回答量:635
采纳率:92%
帮助的人:242万
展开全部
  it是一个迭代器
  *it取的是单个元素
  it则是iterator类型的变量
  如果实现了默认的类型转换函数,则也可以不加
  但是习惯上还是加好,表示明确返回被迭代的变量(比如char)
解乃束天和
2019-06-04 · TA获得超过1220个赞
知道小有建树答主
回答量:1611
采纳率:100%
帮助的人:7.4万
展开全部
同学。遇见我算你幸运。
这个问题你应该这么看
list这个在c++中是
由双向链表实现的
ip可以理解成一个指针。指向一个结点,现在你这个结点删除了,
试问
你如何能通过这个结点,向上遍历。
还有顺便提一下,之所以双向迭代器,也是因为实现是双向链表
所以你应该看本质,才能解决问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
线良尹胤骞
2020-03-25 · TA获得超过1091个赞
知道小有建树答主
回答量:1716
采纳率:100%
帮助的人:8万
展开全部
迭代器理解没错,一般用嵌套类封装了的
ptr
就是string数据类型的vector类的嵌套类iterator,vector
<string>::iterator就是类型
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式