Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <stdio.h>
- struct pair{
- int tvalue1 = 6;
- int tvalue2 = 8;
- } x;
- void swap_value(int a, int b)
- {
- int temp = a;
- a = b;
- b = temp;
- }
- void swap_reference(int &a, int &b)
- {
- int temp = a;
- a = b;
- b = temp;
- }
- void swap_pointer(int *a, int *b)
- {
- int temp = *a;
- *a = *b;
- *b = temp;
- }
- void swap_value(pair p)
- {
- int temp = x.tvalue1;
- x.tvalue1 = x.tvalue2;
- x.tvalue2 = temp;
- }
- void swap_reference(pair &p)
- {
- int temp = x.tvalue1;
- x.tvalue1 = x.tvalue2;
- x.tvalue2 = temp;
- }
- // void swap_pointer(pair *p)
- // {
- // int temp = x.tvalue1;
- // x.tvalue1 = x.tvalue2;
- // x.tvalue2 = temp;
- // }
- int main()
- {
- int testvalue1 = 5;
- int testvalue2 = 7;
- int &testreference1 = testvalue1;
- int &testreference2 = testvalue2;
- int *testpointer1 = &testreference1;
- int *testpointer2 = &testreference2;
- swap_value(testvalue1,testvalue2);
- std::cout << "Test Value 1: " << testvalue1 << " Test Value 2: "<< testvalue2 << std::endl;
- // Does not swap
- swap_reference(testreference1, testreference2);
- std::cout << "Test Value 1: " << testvalue1 << " Test Value 2: "<< testvalue2 << std::endl;
- // Does swap
- swap_pointer(testpointer1, testpointer2);
- std::cout << "Test Value 1: " << testvalue1 << " Test Value 2: "<< testvalue2 << std::endl;
- // Does swap
- swap_value(x);
- std::cout << "Test Value 1: " << x.tvalue1 << " Test Value 2: "<< x.tvalue2 << std::endl;
- swap_reference(x);
- std::cout << "Test Value 1: " << x.tvalue1 << " Test Value 2: "<< x.tvalue2 << std::endl;
- // swap_pointer(*x);
- // std::cout << "Test Value 1: " << x.tvalue1 << " Test Value 2: "<< x.tvalue2 << std::endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement