在没有boost :: counting_iterator的情况下插入一系列连续整数的最佳方法是什么。[c ++]
// Insert 1 to 9
set<long> set1.insert(boost::counting_iterator<int>(1)
,boost::counting_iterator<int>(10))
答案 0 :(得分:1)
调用for
的范围内的insert
循环正常工作,并且使代码易于维护。
答案 1 :(得分:0)
您可以使用:
std::set<long> s;
long l = 0;
std::generate_n(std::inserter(s, s.end()), 9, [&]{ return ++l; });
或简单循环:
std::set<long> s;
for (long i = 1; i != 10; ++i) {
s.insert(i);
}