fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. template<typename T> class SmartPtr
  5. {
  6. public:
  7. SmartPtr(T* data): member(data) {}
  8. operator T * ()
  9. {
  10. cout << "operator T* called" << endl;
  11. return member;
  12. }
  13. T* member;
  14. };
  15.  
  16. int main() {
  17. int x = 10;
  18. SmartPtr<int> pT = SmartPtr<int>(&x);
  19. static_cast<int*>(pT);
  20. return 0;
  21. }
Success #stdin #stdout 0s 3296KB
stdin
Standard input is empty
stdout
operator T* called