关于在函数前加const 和成员函数后加const 的记录

探讨函数前加const的含义,指出虽然对于右值返回的常量作用有限,但若返回指针则有意义,如创建指针常量。同时解释成员函数后加const的规则,表明此类函数不能修改成员变量,只能用于const对象调用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先说第一个问题吧。就是在函数前加一个const,一般人都会说返回值是常量。这是肯定的,但是有一个问题是值得深思的。这有什么卵用呢?一般我们调用函数之后返回值都是右值,所以说返回一个常量没有什么意义是有一定道理的。例如:

    const int get()
    {
        int x = 9;
        return x;
    }
    // main body;
    auto x = get();

那么这么调用的时候就没有什么卵用啊,因为函数的返回值只是一个临时变量。赋值给x之后就回收了,它是否是常量貌似没有什么意义呀。我想了一下我觉得存在即合理,我想到了一种比较有用的调用方式。如果返回值是一个指针呢?那么意义是否就值得去思考了呢?

const int* get()
{ 
    auto x = new int(9);
     
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值