std::iota
Материал из cppreference.com
                    
                                        
                    
                    
                                                            
                    |  | Эта страница была переведена автоматически с английской версии вики используя Переводчик Google. 
 Перевод может содержать ошибки и странные формулировки. Наведите курсор на текст, чтобы увидеть оригинал. Вы можете помочь в исправлении ошибок и улучшении перевода. Для инструкций перейдите по ссылке. Щёлкните здесь, чтобы увидеть английскую версию этой страницы | 
| Defined in header  <numeric> | ||
| template< class ForwardIterator, class T > void iota( ForwardIterator first, ForwardIterator last, T value ); | (начиная с C++11) | |
Заполняет диапазон 
[first, last) с последовательно возрастающими значениями, начиная с value и повторно оценки ++value.Оригинал:
Fills the range 
[first, last) with sequentially increasing values, starting with value and repetitively evaluating ++value.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Эквивалентная операция
Оригинал:
Equivalent operation:
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
*(d_first) = value; *(d_first+1) = ++value; *(d_first+2) = ++value; *(d_first+3) = ++value; ...
| Содержание | 
[править] Параметры
| first, last | — |  диапазон элементов в сумме Оригинал:  the range of elements to sum Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. | 
| value | — |  Начальное значение для хранения, выражение + + значение должно быть хорошо сформированы  Оригинал:  initial value to store, the expression ++value must be well-formed  Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. | 
[править] Возвращаемое значение
(Нет)
[править] Сложность
Именно 
last - first шагом и заданий.Оригинал:
Exactly 
last - first increments and assignments.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
[править] Возможная реализация
| template<class ForwardIterator, class T> void iota(ForwardIterator first, ForwardIterator last, T value) { while(first != last) { *first++ = value; ++value; } } | 
[править] Пример
 В следующем примере применяется std::random_shuffle в вектор итераторы std::list так std::random_shuffle не может быть применен к std::list напрямую. std::iota используется для создания векторной .
 
Оригинал:
 The following example applies std::random_shuffle to a vector of iterators to a std::list since std::random_shuffle cannot be applied to an std::list directly. std::iota is used to create the vector.
 
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Запустить этот код
#include <numeric> #include <algorithm> #include <list> #include <vector> #include <iostream> int main() { std::list<int> l(10); std::iota(l.begin(), l.end(), -4); std::vector<std::list<int>::iterator> v(l.size()); std::iota(v.begin(), v.end(), l.begin()); std::random_shuffle(v.begin(), v.end()); std::cout << "Contents of the list: "; for(auto n: l) { std::cout << n << ' '; } std::cout << '\n'; std::cout << "Contents of the list, shuffled: "; for(auto i: v) { std::cout << *i << ' '; } std::cout << '\n'; }
Вывод:
Contents of the list: -4 -3 -2 -1 0 1 2 3 4 5 Contents of the list, shuffled: 0 -1 3 4 -4 1 -2 -3 2 5
[править] См. также
|  присваивает определенное значение набору элементов  Оригинал:  assigns a range of elements a certain value  Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (шаблон функции) | |
|  сохраняет результат функции в диапазоне  Оригинал:  saves the result of a function in a range  Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (шаблон функции) | |


