fork download
  1. #include <algorithm>
  2. #include <iostream>
  3. #include <map>
  4. #include <string>
  5.  
  6. typedef std::map<std::string, std::string(*)(std::string)> MyMap;
  7.  
  8. std::string forward(std::string s) { return s; }
  9. std::string backward(std::string s) { std::reverse(s.begin(), s.end()); return s; }
  10.  
  11. MyMap Init()
  12. {
  13. MyMap map;
  14. map["forward"] = &forward;
  15. map["backward"] = &backward;
  16. return map;
  17. }
  18.  
  19. const MyMap Map = Init();
  20.  
  21. int main()
  22. {
  23. for (MyMap::const_iterator iter = Map.begin(); iter != Map.end(); iter++)
  24. std::cout << (*iter->second)(iter->first) << "\n";;
  25. return 0;
  26. }
Success #stdin #stdout 0s 3460KB
stdin
Standard input is empty
stdout
drawkcab
forward