Day04 const关键字的使用

很多学习C++的铁汁对于const都不陌生,知道这是定义常量的关键字,但是实际开发中如何使用却不甚了解,今天就对其进行一些梳理。

1.定义常量

const int num=4;

这是最简单的const使用,num表示一个常数4,在定义的同时初始化(因为若不初始化系统也会自动初始化,后边再赋值则视为修改,就会引发错误)。

2.带*的const使用

所谓带*就是指指针,常见形式包括以下三种:
const char *p,char const *p,char * const p.

const char *p: p指向的内容不能通过p来修改

char const *p:同上,都称为常量指针

char * const p:p本身不得修改,这个指针是个常量(指针常量)

拓展:const char * const p;内容不能通过p修改,p也是常量

记忆:当const直接修饰指针p,则p是指针常量,否则就是常量指针;

3.函数中的const

函数形参带const

void fs(const int &i){

I=5;//错误,常量不得修改

}

可以防止无意中修改形参导致实参发生变化;

实参类型可以更加灵活:如果形参非const,那么const的实参没有办法传递给形参;反过来,形参为const,那么不论实参是否为const都可以传递给形参,包括常量数值也可以传递;

int a=5;

const int b=4;

则fs(a),fs(b),fs(3)都是正确的;

成员函数末尾带const(普通函数非成员函数是不能在末尾加const的)

  1. 成员函数的声明与定义若要加const则都要加;
  2. 作用:通知系统——这个函数不会修改任何成员变量的值,叫做常成员函数;
  3. 常对象只能调用常成员函数(因为只有常成员函数能保证不修改常对象);

const Tie abc;

abc.addHour();//错误,addHour不是常成员函数;

abc.showHour();//正确

不管是常成员还是一般成员都可以调用常成员函数

猜你喜欢

转载自blog.csdn.net/weixin_44212242/article/details/125647140
今日推荐