fork download
  1. #include <cstdio> // for printf.
  2.  
  3. struct unko
  4. {
  5. unko() { std::printf("unko c-tor\n"); }
  6. ~unko() { std::printf("unko d-tor\n"); }
  7.  
  8. float v = 2.71828f;
  9. };
  10.  
  11. namespace miruna
  12. {
  13. template<typename T>
  14. struct static_vars
  15. {
  16. static unko a;
  17. };
  18.  
  19. template<typename T>
  20. unko static_vars<T>::a;
  21.  
  22. template
  23. struct static_vars<void>;
  24. }
  25.  
  26. auto main() -> int
  27. {
  28. unko &a = miruna::static_vars<void>::a;
  29.  
  30. a.v += 1000;
  31. std::printf("%lf\n", a.v);
  32.  
  33. std::printf("[main] end\n");
  34. }
Success #stdin #stdout 0s 3296KB
stdin
Standard input is empty
stdout
unko c-tor
1002.718280
[main] end
unko d-tor