【发布时间】:2012-01-29 14:46:31
【问题描述】:
只是一个关于副本如何工作的问题......我需要一些验证以确保精神健全。如果我有:
multiset<pair<double, string> > myMultiset;
我正在尝试将内容打印到控制台...我应该在使用时出现错误:
copy(myMultiset.begin(), myMultiset.end(), ostream_iterator</.../>(cout, " "));
这是因为对于 A. 对于 ostream_iterator 我想传递 ostream 不喜欢的类型“pair”?如果多重集是由“对”组成的,即使我只是将类型字符串传递给“ostream”,我觉得尝试一次传递两个元素会导致错误。是否有一个迭代器可以仅迭代键或仅迭代值?有没有一种干净的方法来处理这个?每次我最终只写“for()”循环,这样我就可以使用“iter->first”和“iter->second”获取内容......我是 STL Algo 的新手,但我喜欢这个想法清洁度,我想利用他们的能力......虽然有很多细节......
【问题讨论】:
-
你“感觉”?你为什么不实际尝试一下?
-
我实际上已经尝试过它的一种变体,并弄清楚了它的发展方向。认为我试图做太多太快......