读书人

函数满载与模板

发布时间: 2013-10-07 19:41:22 作者: rapoo

函数重载与模板
函数重载与模板

提到函数重载想必大家都非常清楚,但是大家是否了解所有细节呢,经过这段时间阅读<<C++Primer>>我发现其实我一直以来并未完全理解重载机制,此处做一个小小的总结:

(1)首先函数重载是指对函数名的重载,它只在同一作用域中有效,不同作用域中的名字不可构成重载,除非显示使用using关键字将名字引入该作用域。如例所示:

template<class T>void addmy(T& a){a++;cout<<"a = "<<a<<endl;}template<class T>void addmy(const T& a){//a++;cout<<"const a = "<<a<<endl;}
这里有关模板的知识点有两点:

(1) 对与template<class T>无法区分const和非const,只能通过函数参数来区分。

(2) 函数模板在没有实例化前也满足非因const引发的重载机制,以及参数个数等机制,除了类型之外的机制。



读书人网 >编程

热点推荐