An obvious (naive?) approach would be:
std::set s;
for (int i = 0; i < SIZE; ++i) {
s.insert(i);
}
That\'s reasonable rea
#include
#include
#include
int main()
{
std::set s;
int i = 0;
std::generate_n(std::inserter(s, s.begin()), 10, [&i](){ return i++; });
}
This is (I think) equivalent to your second version, but IMHO looks much better.
C++03 version would be:
struct inc {
static int i;
explicit inc(int i_) { i = i_; }
int operator()() { return i++; }
};
int inc::i = 0;
int main()
{
std::set s;
std::generate_n(std::inserter(s, s.end()), SIZE, inc(0));
}