mmu*_*phy 8 c++ msdn visual-c++ stl-algorithm
我一直在寻找到<algorithm>的fill和fill_n功能,以及他们给我似乎做同样的事情,但只是有不同的定义.
这是真的,如果不是,它们有什么不同?
他们描述的措辞似乎是差不多的(我在从MSDN阅读fill_n和fill).
如果它们相同,那么可以使用这两种功能有什么好处?
它只是给开发人员更多的选择,还是比另一个更快?
Ben*_*ley 25
它们不是同一个功能,不是. std::fill在给定开始和结束迭代器的情况下填充范围. std::fill_n给定启动迭代器和数量,填充一定数量的元素. fill_n对于输出迭代器很有用,当你无法获得结束迭代器时,例如std::ostream_iterator:
std::fill( std::ostream_iterator<int>(std::cout), ???, x);
^^^
what do I put here?
std::fill_n( std::ostream_iterator<int>(std::cout), 25, x);
Run Code Online (Sandbox Code Playgroud)