Function template: swapargs : template function « template « C++ Tutorial






#include <iostream> 
using namespace std; 
 
// This is a function template. 
template <class X> void swapargs(X &a, X &b) 
{ 
  X temp; 
 
  temp = a; 
  a = b; 
  b = temp; 
} 
 
int main() 
{ 
  int i=1, j=2; 
  float x=1.1, y=2.3; 
  char a='x', b='z'; 
 
  cout << "Original i, j: " << i << ' ' << j << '\n'; 
  swapargs(i, j); // swap integers 
  cout << "Swapped i, j: " << i << ' ' << j << '\n'; 
  
  
  cout << "Original x, y: " << x << ' ' << y << '\n'; 
  swapargs(x, y); // swap floats 
  cout << "Swapped x, y: " << x << ' ' << y << '\n'; 
  
  cout << "Original a, b: " << a << ' ' << b << '\n'; 
  swapargs(a, b); // swap chars 
  cout << "Swapped a, b: " << a << ' ' << b << '\n'; 
 
  return 0; 
}
6
10








13.2.template function
13.2.1.function template: GetMax
13.2.2.Function template: swapargs
13.2.3.template type
13.2.4.Using standard parameters in a template function
13.2.5.Overload a function template declaration
13.2.6.Function with generic parameters
13.2.7.template function to display the number limits
13.2.8.Overload template function
13.2.9.Specify template argument explicitly and implicitly
13.2.10.Namespace with template function
13.2.11.reference and non-reference template function
13.2.12.template function to print elements of an STL container
13.2.13.template function to get the maximum of three values of any type (call-by-reference)
13.2.14.template function to get the maximum of two values