发现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值 为什么第一个就不用解引用 第二个就需要呢 ...LZ你可以先把C语言结构体部分搞熟了,再搞STL部分.
你的这些问题和C++,STL无关,和C语言的结构体指针有关。。。 没懂。
页:
[1]