hello_vzjw

c++ 模版template —— c++(复习七)

初识模版

模版以关键字template开头,其后是一对尖括号划分的模版参数列表,参数之间以逗号隔开;类型模版参数以关键字typename或class标记。

template<typename T>
T const& max_element(T const *arr,unsigned sz){ 
    T const * max_value(arr);
        for (unsigned i=1; i<sz; i++) {
            if (arr[i]>*max_value) {
            max_value = &(arr[i]);
        }
    }
    return *max_value;
}

int main(int argc,const char * argv[])
{
    int arr[] = {2,0,1,3,0,8,5};
    char c[] = "August";
    cout<<max_element<int>(arr,8)<<endl;//这里也可以直接写成max_element(arr,8),凡是可以推导出模版参数值,都无需在模版实参列表中写明。
    cout<<max_element<char>(c,6)<<endl;
    return 0;
}

posted on 2016-05-05 14:51  hello_vzjw  阅读(81)  评论(0)    收藏  举报

导航