fork download
  1. #include <functional>
  2. #include <iostream>
  3. #include <vector>
  4. #include <algorithm>
  5.  
  6. auto addition = [] (double a, double b) { return a + b; };
  7.  
  8. auto substruction = [] (double a, double b) { return a - b; };
  9.  
  10. auto divide = [] (double a, double b) { return a / b; };
  11.  
  12. auto multiplie = [] (double a, double b) { return a * b; };
  13.  
  14. typedef std::function<double (double, double)> DoubleFunc;
  15.  
  16. int main()
  17. {
  18. std::vector<DoubleFunc> funcVector;
  19.  
  20. funcVector.push_back(addition);
  21. funcVector.push_back(substruction);
  22. funcVector.push_back(multiplie);
  23. funcVector.push_back(divide);
  24.  
  25. std::for_each(funcVector.begin(), funcVector.end(), []
  26. (DoubleFunc func)
  27. {
  28. std::cout << func(3.14159, 100500) << std::endl;
  29. });
  30.  
  31. system("pause");
  32. return 0;
  33. }
Success #stdin #stdout 0s 3020KB
stdin
Standard input is empty
stdout
100503
-100497
315730
3.12596e-05