map<int, double>::iterator it = weight.begin()这句怎么理解;

急用有知道的大神帮帮我... 急用 有知道的大神帮帮我 展开
 我来答
xx_lyq00
2014-12-15 · TA获得超过4141个赞
知道大有可为答主
回答量:1794
采纳率:84%
帮助的人:850万
展开全部
这是迭代器啊,
weight这个类型是map<int, double>
这个就表示从weight开始迭代。
相当于循环里的i变量。
for(int i =0
追问
for (; it!=weight.end(); it++)
tempWeight[it->first] = it->second + alpha * gradient[it->first];然后这句是什么意思呢
追答
建议你去看下stl的内容吧。。
iterator 迭代器类型
iterator it
it->frist表示对象的第一个类型,一般是key.
it->second表示对象的第二个类型,一般是val

这里的意思是 it->first,是weith第一个类型,int
it->second是weigtht第二个类型 double
比如 weigth有2个元素。(10, 12.1) ( 20, 20.3)
那么第一次迭代时,
it->first = 10 it->second= 12.1
继续
it->first = 20, it->second = 20.3
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式