Примитивные типы, такие как int
, не пользуются семантикой ходов , поскольку ходы в точности совпадают с копиями.Ваш код может быть упрощен до:
auto sequenceGen = [](int init) {
return [init]() mutable { return ++init; };
};
auto getSeq1 = sequenceGen(100);
cout << getSeq1() << '\n';
cout << getSeq1() << '\n';
Также избегайте использования std::endl
, если вы не хотите принудительно очищать буфер, поскольку он неэффективен по сравнению с '\n'
.