fork(2) download
  1. #include <iostream>
  2. #include <map>
  3.  
  4. template<typename T, T def>
  5. struct DefaultInteger
  6. {
  7. DefaultInteger() : val(def) {}
  8. DefaultInteger(T val) : val(val) {}
  9.  
  10. DefaultInteger& operator=(T n) { val = n; return *this; }
  11. operator T() const { return val; }
  12.  
  13. T val;
  14. };
  15.  
  16.  
  17. int main()
  18. {
  19. using namespace std;
  20.  
  21. map<int,DefaultInteger<int,42>> m;
  22.  
  23. cout << m[-1] << endl;
  24. }
Success #stdin #stdout 0s 3428KB
stdin
Standard input is empty
stdout
42