В C ++ 11 нет необходимости даже писать цикл, если только вам не нужно проверять ошибки (например, проверять, успешно ли выполнено чтение или что входное значение допустимо).
#include <iostream>
#include <iterator>
#include <vector>
#include <algorithm>
int main()
{
int size;
std::cin >> size;
std::vector<int> procnum(size);
std::iota(procnum.begin(), procnum.end(), 1); // starting value is 1
// output vector to demonstrate it is populated
std::copy(procnum.begin(), procnum.end(), std::ostream_iterator<int>(std::cout," ");
std::cout << "\n";
}
До C ++ 11 не было алгоритма std::iota()
, но можно использовать std::generate()
и простой функтор для достижения того же эффекта.