fork(1) download
  1. #include <iostream>
  2. #include <functional>
  3.  
  4. std::function<int(int)> makeLambda1(int x) {
  5. return [x] (int y) { return x * y; };
  6. }
  7.  
  8. auto makeLambda2(int x) {
  9. return [x] (int y) { return x * y; };
  10. }
  11.  
  12. auto makeLambda3() {
  13. return [] (int y) { return 10 * y; };
  14. }
  15.  
  16. int main() {
  17. auto lambda1 = makeLambda1(10);
  18. auto lambda2 = makeLambda2(10);
  19. auto lambda3 = makeLambda3();
  20. std::cout << sizeof(lambda1) << " ";
  21. std::cout << sizeof(lambda2) << " ";
  22. std::cout << sizeof(lambda3) << " ";
  23. std::cout << sizeof(int(*)(int)) << std::endl;
  24. }
  25.  
Success #stdin #stdout 0s 4784KB
stdin
Standard input is empty
stdout
32 4 1 8