fork download
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. #define foo1( a ) (a * a)
  6.  
  7. inline int foo2( int a ) { return (a * a); }
  8.  
  9. inline int goo1( int x ) { return foo1(foo2(x)); }
  10.  
  11. inline int goo2( int& x ) { return x = foo2(foo1(x)); }
  12.  
  13. inline int goo3( int& x, int y ) { return foo2(foo1(y + 1)); }
  14.  
  15. inline void goo4( int& x, int y ) { x = foo1(foo2(y + 1)); }
  16.  
  17. int main()
  18.  
  19. {
  20.  
  21. int i = 2, j = 1;
  22.  
  23. cout << "foo1 = " << foo1( 1 + 2 ) << "\n";
  24.  
  25. cout << "foo2 = " << foo2( 2 + 1 ) << "\n";
  26.  
  27. cout << "goo1 = " << goo1( i ) << "\n";
  28.  
  29. cout << "goo2 = " << goo2( j ) << "\n";
  30.  
  31. cout << "goo3 = " << goo3( i, j ) << "\n";
  32.  
  33. goo4( i, j );
  34.  
  35. cout << "i = " << i << "\nj = " << j << "\n";
  36.  
  37. return 0;
  38.  
  39. }
Success #stdin #stdout 0.01s 5288KB
stdin
Standard input is empty
stdout
foo1 = 5
foo2 = 9
goo1 = 16
goo2 = 1
goo3 = 9
i = 16
j = 1