Mega Code Archive

 
Categories / C++ Tutorial / Template
 

Loop with generic parameter

/* The following code example is taken from the book  * "C++ Templates - The Complete Guide"  * by David Vandevoorde and Nicolai M. Josuttis, Addison-Wesley, 2002  *  * (C) Copyright David Vandevoorde and Nicolai M. Josuttis 2002.  * Permission to copy, use, modify, sell and distribute this software  * is granted provided this copyright notice appears in all copies.  * This software is provided "as is" without express or implied  * warranty, and with no claim as to its suitability for any purpose.  */ #include <iostream> template <typename T> inline T dot_product (int dim, T* a, T* b) {     T result = T();     for (int i=0; i<dim; ++i) {         result += a[i]*b[i];     }     return result; } int main() {     int a[3] = { 1, 2, 3};     int b[3] = { 5, 6, 7};     std::cout << "dot_product(3,a,b) = " << dot_product(3,a,b)               << '\n';     std::cout << "dot_product(3,a,a) = " << dot_product(3,a,a)               << '\n'; } dot_product(3,a,b) = 38 dot_product(3,a,a) = 14