fork download
  1. #include <iostream>
  2. #include <map>
  3. #include <experimental/any>
  4.  
  5. using namespace std;
  6.  
  7. int main() {
  8. std::map<std::string,std::experimental::any> Map;
  9.  
  10. // заносим просто число
  11. Map["0"] = 0;
  12. std::cout << std::experimental::any_cast<int>(Map["0"]) << std::endl;
  13.  
  14. // заносим лямбду первого типа
  15. auto LamOne = [&]()->int {return 1;};
  16. Map["1"] = LamOne;
  17. std::cout << std::experimental::any_cast<decltype(LamOne)>(Map["1"])() << std::endl;
  18.  
  19. // заносим лямбду второго типа
  20. auto LamTwo = [&](bool i)->std::string {return (i) ? "positive":"negative";};
  21. Map["2"] = LamTwo;
  22. std::cout << std::experimental::any_cast<decltype(LamTwo)>(Map["2"])(true) << std::endl;
  23.  
  24. return 0;
  25. }
Success #stdin #stdout 0s 4204KB
stdin
Standard input is empty
stdout
0
1
positive