内联函数的使用:
-在函数的声明和定义前加上关键字inline
特点:使调用速度变快,但是占用内存更多
宏定义函数的缺陷:
#define fun(x) ((X)*(X));
a=fun(c++);
//a=(c++) * (C++)
//会导致c自增两次
声明引用时要初始化:
int rats=101;
int & rodents=rats;
rodent++ 会导致rats也自增
当时有引用传参时,传的数要是变量,比如x+3就不是变量
实参是按照从左往右一次被赋给相应的形参的,而不能跳过任何参数,因此,下面的调用时不许的
int harpo(int n,int m=4,int j=5);
.....
beeps=harpo(8,,2)//error
下面不为函数重载
double cube(double x);
double cube(double & x);
(格式)计算数字的位数
while(n /= 10)
digits++;
建立函数模板之前使用template<class >(template<typename>)
例子(交换函数)
template<class Any>
void Swap(Any & a,Any & b)
{
Any temp=a;
a=b;
b=temp;
}
提升转换:例如 char和short自动转换为int,float自动转换为double
标准转换:例如 int转换为char ,long转换为double
提升转换 优于 标准转换