fork(3) download
  1. #include <iostream>
  2.  
  3. auto create_counter()
  4. {
  5. return [counter = 0] () mutable -> int { return ++counter; };
  6. }
  7.  
  8. int main()
  9. {
  10. auto counter1 = create_counter();
  11. auto counter2 = create_counter();
  12.  
  13. std::cout << counter1() << std::endl;
  14. std::cout << counter1() << std::endl;
  15.  
  16. std::cout << counter2() << std::endl;
  17. std::cout << counter2() << std::endl;
  18.  
  19. std::cout << counter1() << std::endl;
  20. }
  21.  
Success #stdin #stdout 0s 3468KB
stdin
Standard input is empty
stdout
1
2
1
2
3