鱼C论坛

 找回密码
 立即注册
查看: 1121|回复: 2

发现c++重大严重问题

[复制链接]
发表于 2015-4-13 13:33:14 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
# include <iostream>
# include <map>
# include <string>

using namespace std;
int main()
{
    map<string, int> m;
        string s;

        while(cin >> s)
        {
                pair< map< string, int>::iterator, bool >ret =  m.insert( make_pair(s, 1) );
            
                if( !ret.second )
                        ++ret.first->second;       //这里的ret.first之后他只是一个迭代器   为什么可以直接second
       
        }
        for( map<string, int>::iterator iter = m.begin(); iter != m.end(); ++iter)
                cout << (*iter).first << ' ' << (*iter).second << endl;      //这里iter也是个迭代器  为什么要先用解引用呢


     return 0;
}

map版本的insert插入一个元素会返回一个迭代器和bool值    为什么第一个就不用解引用   第二个就需要呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-4-13 21:45:37 | 显示全部楼层
...LZ你可以先把C语言结构体部分搞熟了,再搞STL部分.
你的这些问题和C++,STL无关,和C语言的结构体指针有关。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-4-14 01:08:38 | 显示全部楼层
没懂。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-25 21:53

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表