C++学习记录(二)

- 常用标准库函数之数学函数


#include

using namespace std;

函数名 功能
exp(x) ex
pow(x,y) xy
sqrt(x) x的平方根,x>=0
fabs(x) |x|
log(x) lnx,x>0
log10(x) lgx,x>0
sin(x) sinx,x为弧度值
cos(x) cosx,x为弧度值

- 引用


  • 类型名&引用名=某变量名

例:
int n=4;
int & r=n;//r引用了n,则r的类型是int &
  • 某个变量的引用,等价于这个变量,相当于该变量的一个别名。

例:
int n=7;
int & r=n;
r=4;
cout<<r;//输出4
cout<<n;//输出4
n=5;
cout<<r;//输出5
  • 注意

1.定义引用时,一定要将其初始化成引用某个变量。
2.初始化后,它就一直引用该变量,不会再引用别的变量。
3.引用只能引用变量,不能引用常量和表达式。

引用应用的简单举例

-编写交换两个整形变量的函数
void swap(int & a,int & b)
{
int tmp;
tmp=a;
a=b;
b=tmp;
}
int n1,n2;
swap(n1,n2);//n1,n2的值被交换
-引用作为函数的返回值
int n=4;
int & SetValue()
{
return n;
}
int main()
{
SetValue()=40;
cout<<n;
return 0;
}//输出:40

常引用

  • 定义引用时,前面加const关键字即为“常引用”。
int n;
const int & r=n;
其中r的类型为const int &
  • 注意:不能通过常引用去修改其引用的内容
int n=100;
const int & r=n;
r=200;//编译出错
n=300;//没问题
  • 常引用和非常引用的转换

设类型为T

-const T &T &是不同的类型
-T & 类型的引用或T类型的变量可以用来初始化const T & 类型的引用
-const T类型的常变量和const T &类型的引用则不能用来初始化T &类型的引用,除非进行强制类型转换。

const 关键字

- 定义常量指针

  • 不可以通过常量指针修改其指向的东西的内容。
int n,m;
const int *p=&n;
*p=5;//编译出错
n=4;//OK
p=&m;//OK,常量指针的指向可以变化
  • 不能把常量指针赋值给非常量指针,反过来可以。
const int *p1;
int *p2;
p1=p2;//OK
p2=p1;//error
p2=(int*)p1;//OK,强制类型转换
  • 函数参数为常量指针时,可以避免函数内部不小心改变参数指针所指的地方的内容。
void MyPrintf(const char *p)
{
strcpy(p,"this");//试图修改,编译出错
printf("%s",p);
}

posted on 2020-01-29 15:11  2002ljy  阅读(133)  评论(0编辑  收藏  举报

导航

Live2D