我在阅读“Ivor Horton的开始编程Visual C++ 2010”,我在第10章 - 标准模板库。我的问题是地图容器map<Person, string> mapname
。这本书向我展示了很多添加元素的方法,例如pair<K, T>
和稍后使用make_pair()
函数和mapname.insert(pair)
。但是他突然介绍了一种元素添加技术,用于以下代码:C++ map <K,T>初始化
int main()
{
std::map<string, int> words
cout << "Enter some text and press Enter followed by Ctrl+Z then Enter to end:"
<< endl << endl;
std::istream_iterator<string> begin(cin);
std::istream_iterator<string> end;
while(being != end) // iterate over words in the stream
//PROBLEM WITH THIS LINE:
words[*begin++]++; // Increment and store a word count
//there are still more but irrelevant to this question)
}
指示的线是我的问题。我明白words
是地图,但我从来没有见过这样的初始化。随着它的增量,那件事情会发生什么。我相信艾弗尔顿没有进一步详细阐述这一点,或者至少他应该给予足够的介绍,不要对像我这样的新手感到惊讶。
您有失踪';''后words' –