C++基础二——清华

引用:

int i,j;

int &ri=i;  //创建引用变量的同时,必须初始化。引用相当于起别名。

j=10;

ri=j;  //相当于ri=10.

引用在交换函数中的应用,实现了双向传递

swap(int& a,int& b)

{

int t=a;

a=b;

b=t;

}

swap(x,y);  //可实现x,y值的交换

inline 内联函数:

实现通知编译器编译时在调用处直接用函数体替换,节省参数传递,控制转移开销。一般简单的函数,编译器会自动转为内联函数。

1.内联函数内不能有循环语句和switch语句,

2.内联函数的定义必须出现在第一次调用之前。

3.对内联函数不能进行异常接口声明。

constexpr函数:

在constexpr修饰的函数下,所有修饰的变量都是constexpr类型

重载函数:C++允许功能相近的函数在相同的作用域内以相同的函数名声明,从而形成重载,方便使用,便于记忆。

合法的重载函数举例:比较大小的函数(先写两个比较的函数,再写三个数的函数(调用两个数比较的函数)),

、或是下面的加法函数:

int add(int a,int b);

int add(int a,int b,int c);

float add(float a,float b);

重载函数的形参必须不同:类型不同或个数不同。同时编译器不以返回值作为区分重载函数的依据。

应用举例:

一开始输入整数,调用的是int型函数,当输入为小数时调用的是double型的函数。

 华氏温度转摄氏温度:C=(F-32)*5/9;

斐波那契函数:

int fib(int n);

int main()

{

int n,answer;

cout<<"Enter number"<<;

cin>>n;

cout<<'' ";

answer=fib(n);

cout<<answer<<"is the" <<n<<"th Fibonacci number ";

return 0;

}

int fib(int n)

{

cout<<"Processing fib("<<n<<")...";

if(n<3)

{

cout<<"Return 1! ";

return ()1;

}

else

{

cout <<"Call fib("<< n-2<<")and fib("<<n-1<<"). ;

return (fib(n-2)+fib(n-1));

}

}

}

原文地址:https://www.cnblogs.com/wddx5/p/12769628.html