fork download
  1. #include <cstdio>
  2.  
  3. class A{
  4. public:
  5. void func( A* a ){
  6. printf("0x%llx\n",(long long)a);
  7. if( 0x8050000LL < (long long)a && (long long)a < 0xf000000000000000LL )
  8. puts("new A()");
  9. else
  10. puts("&A");
  11. }
  12. };
  13.  
  14. A z;
  15. int main(){
  16. static A y;
  17. A a;
  18. a.func( new A() );
  19. A b;
  20. a.func( &b );
  21. a.func( &y );
  22. a.func( &z );
  23. A *c = new A();
  24. a.func( &*c ); // これはどっちが正解?
  25. return 0;
  26. }
Success #stdin #stdout 0s 3460KB
stdin
Standard input is empty
stdout
0x9574a10
new A()
0xffffffffbf9bae7f
&A
0x80498fa
&A
0x80498f9
&A
0x9574a20
new A()