fork download
  1. #include<iostream>
  2.  
  3. struct A {
  4. A (int i = 0) { std::cout << "A::A()\n"; }
  5. };
  6.  
  7. int i = 0;
  8. int* const p = &i;
  9.  
  10. int main () {
  11. A(); // calls `A::A(int=0)`
  12. A(i); // calls `A::A(int=0)`
  13.  
  14. A(*p); // <--- (1) same as local `A *p;`
  15. {
  16. A((*p)); // <--- (2) same as local `A *p;`
  17. }
  18. A (*foo()); // <--- (3) ??
  19. {
  20. A ((*foo())); // <--- (4) ??
  21. }
  22. }
Success #stdin #stdout 0s 3340KB
stdin
Standard input is empty
stdout
A::A()
A::A()