<tfoot id='X0vtp'></tfoot>
    • <bdo id='X0vtp'></bdo><ul id='X0vtp'></ul>

    1. <legend id='X0vtp'><style id='X0vtp'><dir id='X0vtp'><q id='X0vtp'></q></dir></style></legend>

      <small id='X0vtp'></small><noframes id='X0vtp'>

        <i id='X0vtp'><tr id='X0vtp'><dt id='X0vtp'><q id='X0vtp'><span id='X0vtp'><b id='X0vtp'><form id='X0vtp'><ins id='X0vtp'></ins><ul id='X0vtp'></ul><sub id='X0vtp'></sub></form><legend id='X0vtp'></legend><bdo id='X0vtp'><pre id='X0vtp'><center id='X0vtp'></center></pre></bdo></b><th id='X0vtp'></th></span></q></dt></tr></i><div id='X0vtp'><tfoot id='X0vtp'></tfoot><dl id='X0vtp'><fieldset id='X0vtp'></fieldset></dl></div>
      1. 使用 std::fill 填充带有递增数字的向量

        use std::fill to populate vector with increasing numbers(使用 std::fill 填充带有递增数字的向量)
          <tbody id='8JThI'></tbody>

          • <bdo id='8JThI'></bdo><ul id='8JThI'></ul>

            <small id='8JThI'></small><noframes id='8JThI'>

            <tfoot id='8JThI'></tfoot>
          • <legend id='8JThI'><style id='8JThI'><dir id='8JThI'><q id='8JThI'></q></dir></style></legend>

                1. <i id='8JThI'><tr id='8JThI'><dt id='8JThI'><q id='8JThI'><span id='8JThI'><b id='8JThI'><form id='8JThI'><ins id='8JThI'></ins><ul id='8JThI'></ul><sub id='8JThI'></sub></form><legend id='8JThI'></legend><bdo id='8JThI'><pre id='8JThI'><center id='8JThI'></center></pre></bdo></b><th id='8JThI'></th></span></q></dt></tr></i><div id='8JThI'><tfoot id='8JThI'></tfoot><dl id='8JThI'><fieldset id='8JThI'></fieldset></dl></div>
                  本文介绍了使用 std::fill 填充带有递增数字的向量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我想用 std::fill 填充一个 vector,但不是一个值,该向量应该包含后面按升序排列的数字.

                  I would like to fill a vector<int> using std::fill, but instead of one value, the vector should contain numbers in increasing order after.

                  我尝试通过将函数的第三个参数迭代 1 来实现这一点,但这只会给我填充 1 或 2 的向量(取决于 ++ 运算符的位置).

                  I tried achieving this by iterating the third parameter of the function by one, but this would only give me either vectors filled with 1 or 2 (depending of the position of the ++ operator).

                  示例:

                  vector<int> ivec;
                  int i = 0;
                  std::fill(ivec.begin(), ivec.end(), i++); // elements are set to 1
                  std::fill(ivec.begin(), ivec.end(), ++i); // elements are set to 2
                  

                  推荐答案

                  最好使用 std::iota 像这样:

                  Preferably use std::iota like this:

                  std::vector<int> v(100) ; // vector with 100 ints.
                  std::iota (std::begin(v), std::end(v), 0); // Fill with 0, 1, ..., 99.
                  

                  也就是说,如果您没有任何 c++11 支持(仍然是我工作的真正问题),请使用 std::generate 像这样:

                  That said, if you don't have any c++11 support (still a real problem where I work), use std::generate like this:

                  struct IncGenerator {
                      int current_;
                      IncGenerator (int start) : current_(start) {}
                      int operator() () { return current_++; }
                  };
                  
                  // ...
                  
                  std::vector<int> v(100) ; // vector with 100 ints.
                  IncGenerator g (0);
                  std::generate( v.begin(), v.end(), g); // Fill with the result of calling g() repeatedly.
                  

                  这篇关于使用 std::fill 填充带有递增数字的向量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                  相关文档推荐

                  What is the past-the-end iterator in STL C++?(STL C++ 中的最后迭代器是什么?)
                  vector::at vs. vector::operator[](vector::at 与 vector::operator[])
                  C++ equivalent of StringBuffer/StringBuilder?(C++ 等效于 StringBuffer/StringBuilder?)
                  Adding types to the std namespace(将类型添加到 std 命名空间)
                  Is the C++ std::set thread-safe?(C++ std::set 线程安全吗?)
                  How to use std::find/std::find_if with a vector of custom class objects?(如何将 std::find/std::find_if 与自定义类对象的向量一起使用?)
                    <bdo id='vzLpg'></bdo><ul id='vzLpg'></ul>

                    <small id='vzLpg'></small><noframes id='vzLpg'>

                      <tbody id='vzLpg'></tbody>

                      <i id='vzLpg'><tr id='vzLpg'><dt id='vzLpg'><q id='vzLpg'><span id='vzLpg'><b id='vzLpg'><form id='vzLpg'><ins id='vzLpg'></ins><ul id='vzLpg'></ul><sub id='vzLpg'></sub></form><legend id='vzLpg'></legend><bdo id='vzLpg'><pre id='vzLpg'><center id='vzLpg'></center></pre></bdo></b><th id='vzLpg'></th></span></q></dt></tr></i><div id='vzLpg'><tfoot id='vzLpg'></tfoot><dl id='vzLpg'><fieldset id='vzLpg'></fieldset></dl></div>

                        1. <legend id='vzLpg'><style id='vzLpg'><dir id='vzLpg'><q id='vzLpg'></q></dir></style></legend>
                          • <tfoot id='vzLpg'></tfoot>