C++ 打印C++;迭代映射
有没有更简单的方法来解决这个问题,或者我有什么做错了?我认为我的问题的核心在于代码C++ 打印C++;迭代映射,c++,maps,iteration,C++,Maps,Iteration,有没有更简单的方法来解决这个问题,或者我有什么做错了?我认为我的问题的核心在于代码 vector<int> &v = miss_words[*i]; vector&v=miss_words[*i]; 但也许我只是把整个概念搞错了。有什么建议吗 代码: void print\u map(map miss\u words)//打印出字典集 { map::iterator it=miss_words.begin();//创建一个迭代器 while(it!=miss_words.
vector<int> &v = miss_words[*i];
vector&v=miss_words[*i];
但也许我只是把整个概念搞错了。有什么建议吗
代码:
void print\u map(map miss\u words)//打印出字典集
{
map::iterator it=miss_words.begin();//创建一个迭代器
while(it!=miss_words.end())//while还没到结尾
{
vector&v=miss_words[*it];//访问地图中的向量
对于(unsigned int g=0;g您想说vector&v=it->second;
迭代器的值类型是映射的值类型,即pair
实际上,在现代C++中,你可以写得更简单,而且更少出错,比如:
for (auto const & p : miss_words)
{
for (auto const & x : p.second)
{
cout << x << ": " << x << " \n";
}
}
for(自动const&p:miss_words)
{
用于(自动常数和x:p.second)
{
你想说的是vector&v=it->second;
迭代器的值类型是映射的值类型,即pair
实际上,在现代C++中,你可以写得更简单,而且更少出错,比如:
for (auto const & p : miss_words)
{
for (auto const & x : p.second)
{
cout << x << ": " << x << " \n";
}
}
for(自动const&p:miss_words)
{
用于(自动常数和x:p.second)
{
你的权利…后来出错了…谢谢你的帮助!!!@kerreksb你的权利…后来出错了…谢谢你的帮助!!!@kerreksb谢谢!我不知道“第二个”notation@wawiti:我很高兴它有帮助,但请注意它不是“符号”.second
只是对的一个成员
类型…谢谢!我不知道“second”是什么notation@wawiti:我很高兴它有帮助,但请注意它不是“符号”。second
只是对的一个成员。。。