- 内联函数
- 引用变量
- 如何按引用传递参数
- 默认参数
- 函数重载(指函数参数的数目和类型 不同,不能通过返回类型区别两个同名函数。函数重载不可以根据返回类型区分)
- 函数模板具体化
1、内联函数
常规函数和内联函数之间主要的不同是在于c++编译器如何将他们组合到程序中。
定义内联函数:
- 在函数声明前 加上关键字 inline
- 在函数定义前加上关键字 inline
c语言使用宏来实现内联函数功能:
#define SQUARE(X) X*X
2、引用变量
int & rate = rats
引用是变量的别名,主要作用是用于函数的形参,通过将引用变量用作参数,函数将使用原始数据,而不是副本。
c++使用&来声明引用,int & 表示指向int的引用
函数默认参数
char * left(const char *str,int n =1)
参数n的默认值为1,如果不传递n,就默认为一,否则传递的值将覆盖1
函数重载:
void print(const char *str,int width);
void print(double d,int width)
void print(long l, int width)
c++允许定义函数名相同的函数,但必须是输入参数的数量和类型不同,如果只是返回类型相同,c++认为这两个是一个函数。
函数模板: template <typename Anytype> 可以理解为 anyname就是我们的一种数据类型,根据实际情况函数中可以使用不同的数据类型
定义函数模板:
template <typename Anytype>
void Swap(Anytype &a,Anytype &b)
{
函数体
}
or
template <class Anytype>
void Swap(Anytype &a,Anytype &b)
{
函数体
}
调用:直接 使用 Swap(int x,int y)
类模板:
template<typenameT>
classStack
{
}