fork download
  1. #include <iostream>
  2.  
  3. class TattleTale
  4. {
  5. public:
  6. TattleTale() { std::cout << "TattleTale Constructed" << std::endl; }
  7. ~TattleTale() { std::cout << "TattleTale Destructed" << std::endl; }
  8. void Hello() { std::cout << "Hello" << std::endl; }
  9. };
  10.  
  11. template<typename T>
  12. static T &Singleton()
  13. {
  14. static T instance;
  15. return instance;
  16. }
  17.  
  18. int main()
  19. {
  20. std::cout << "main started" << std::endl;
  21. std::cout << "Singleton<TattleTale> constructed" << std::endl;
  22. Singleton<TattleTale>().Hello();
  23.  
  24. return 0;
  25. }
Success #stdin #stdout 0s 2852KB
stdin
Standard input is empty
stdout
main started
Singleton<TattleTale> constructed
TattleTale Constructed
Hello
TattleTale Destructed