【发布时间】:2010-12-21 00:31:06
【问题描述】:
由于 C++ std::map 中没有 .resize() 成员函数,我想知道,如何获得最多包含 n 个元素的 std::map。
显而易见的解决方案是创建一个从 0 到 n 的循环,并使用第 n 个迭代器作为 std::erase() 的第一个参数。
我想知道是否有任何不需要循环的解决方案(至少在我的用户代码中不需要)并且更像是“STL 方式”。
【问题讨论】:
-
嗯.. 我会说使用迭代器循环是 STL 方式,不是吗?
-
没有
std::erase。使用std::map<Key,Val,Pred,Alloc>::erase()