// test_swap_template.cpp demonstrate pass parameter by reference template void swap_any(some_type &v1, some_type &v2) { some_type tmp = v2; v2 = v1; v1 = tmp; } // end swap_any #include #include using namespace std; int main() // C++ test swap { int i=10; int j=20; cout << "before swap i= " << i << " j= " << j << endl; swap_any(i, j); cout << "after swap i= " << i << " j= " << j << endl; string s10("string 10"); string s20("string 20, longer OK"); cout << "before swap s10= " << s10 << " s20= " << s20 << endl; swap_any(s10, s20); cout << "after swap s10= " << s10 << " s20= " << s20 << endl; return 0; } // end main