Advertisement
Taraxacum

Function Parameter

Oct 25th, 2018
210
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.37 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. void swap1(int a, int b)
  6. {
  7.     // value
  8.     cout << __FUNCTION__ << "\t$a = " << a << "\t$b = " << b << endl;
  9.  
  10.     int tmp = b;
  11.     b = a;
  12.     a = tmp;
  13.  
  14.     cout << __FUNCTION__ << "\t$a = " << a << "\t$b = " << b << endl;
  15. }
  16.  
  17. void swap2(int& a, int& b)
  18. {
  19.     // reference
  20.     cout << __FUNCTION__ << "\t$a = " << a << "\t$b = " << b << endl;
  21.  
  22.     int tmp = b;
  23.     b = a;
  24.     a = tmp;
  25.  
  26.     cout << __FUNCTION__ << "\t$a = " << a << "\t$b = " << b << endl;
  27. }
  28.  
  29. void swap3(int* a, int* b)
  30. {
  31.     // pointer
  32.     cout << __FUNCTION__ << "\t$a = " << *a << "\t$b = " << *b << endl;
  33.  
  34.     int tmp = *b;
  35.     *b = *a;
  36.     *a = tmp;
  37.  
  38.     cout << __FUNCTION__ << "\t$a = " << *a << "\t$b = " << *b << endl;
  39. }
  40.  
  41. int main()
  42. {
  43.     int a, b;
  44.  
  45.     a = 2, b = 5;
  46.     cout << __FUNCTION__ << "\t$a = " << a << "\t$b = " << b << endl;
  47.     swap1(a, b);
  48.     cout << __FUNCTION__ << "\t$a = " << a << "\t$b = " << b << endl;
  49.  
  50.     cout << endl;
  51.  
  52.     a = 8, b = 10;
  53.     cout << __FUNCTION__ << "\t$a = " << a << "\t$b = " << b << endl;
  54.     swap2(a, b);
  55.     cout << __FUNCTION__ << "\t$a = " << a << "\t$b = " << b << endl;
  56.  
  57.     cout << endl;
  58.  
  59.     a = 33, b = 55;
  60.     cout << __FUNCTION__ << "\t$a = " << a << "\t$b = " << b << endl;
  61.     swap3(&a, &b);
  62.     cout << __FUNCTION__ << "\t$a = " << a << "\t$b = " << b << endl;
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement