- 论坛徽章:
- 0
|
最近开始接触了点C++,看到template这章,觉得C++的template有点神奇呦。
就拿下面的小程序作例子:
template<class Type, int size> 中size作为一个非类型参数,这样就可以直接知道传入的数组了?
而在C中,数组作为参数如果不传入一个长度,是无法知道数组大小的,所以觉得有点“神奇”
#include <iostream>
using std::cout;
using std::endl;
template <class Type, int size>
Type min( const Type (&array)[size] )
{
Type min_val = array[ 0 ];
for ( int i = 1; i < size; i++ )
if ( min_val > array[i] )
min_val = array[i];
return min_val;
}
int main()
{
const int array[] = { 3, 5, 2, 9, 7, 1, 6 };
int min_val;
min_val = min( array );
cout << "The min value is " << min_val <<endl;
return 0; |
|
|