当前位置:  开发笔记 > 编程语言 > 正文

设置std :: map中的所有值

如何解决《设置std::map中的所有值》经验,为你挑选了1个好方法。

如何将a std::map中的所有值设置为相同的值,而不使用循环迭代每个值?



1> Konrad Rudol..:

C++有这个fill方法,但这对地图不起作用.实际上,对关联容器的算法支持通常不好.

因此,您将不得不使用交互或编写适当的函子来使用for_each(但我认为这是不必要的开销):

template 
struct resetter : public std::unary_function > {
    TValue const value;

    public resetter(value const& v) : value(v) { }

    public void operator ()(std::pair& v) {
        v.second = value;
    }
};

for_each(map.begin(), map.end(), resetter(value));

推荐阅读
赛亚兔备_393
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有