c++笔记:const关键字

1.const在指针中的应用

使用const修饰指针,有两种用法,达到两种作用:

  • 让指针指向一个常量对象
  • 让指针本身就成为常量

1.1指针指向一个常量对象

例程1:

int num = 10;
const int *p = #

此例子中,不代表num是一个常量,而是不能通过指针p来修改num的值

例程2:

const int num = 10;
const int *p = #
int *p = #//错误

此例中,需要注意的是第三行错误的示例。

指向常量对象的指针必须也是常量

如果指针不加const修饰,就意味着允许通过指针修改指向的对象,与指向的常量对象相矛盾。

底层是常量,则指向它的高层必须也是常量,同样适用于二级指针等

1.2成为常量指针

例程3:

int num = 10;
int *const p = #

注意const的位置,这个位置的const修饰后表示,const为常量指针,即只能指向这一个量

2.const在函数中的应用

2.1const在函数参数内

例程4:

void a(const int *b);

表明了b在这个函数中是一个常数值,即函数只能调用,不能修改

与形参不改变实参不同(不会报错),这里如果修改就如同修改常量,会报错

2.2const在函数名前面

比如:

const int a();

修饰返回值,意义不大

2.3const在函数名后面

class A{
    public:
    int const a();
}

使其成为常成员函数

只能作为类的成员

也是只读,不会修改对象本身,应对于类的指针this的调用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

空名_Noname

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值