丑的想整容 发表于 2015-4-13 13:33:14

发现c++重大严重问题

# 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值    为什么第一个就不用解引用   第二个就需要呢

仰望天上的光 发表于 2015-4-13 21:45:37

...LZ你可以先把C语言结构体部分搞熟了,再搞STL部分.
你的这些问题和C++,STL无关,和C语言的结构体指针有关。。。

沫丶尛希 发表于 2015-4-14 01:08:38

没懂。
页: [1]
查看完整版本: 发现c++重大严重问题