const 常量_const使用辨析

本文深入探讨C++中const关键字的使用方法及其含义,包括基本语法、在指针及引用中的应用、与C语言的区别,以及在类成员函数中的特殊作用等。

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

今天来说一说,const关键字,不知道大家对它理解咋样

const远不是一个常量那么简单

首先:

const 
long 

试图用一个普通指针指向常量,不行;

正确写法:

const 

然后:

*

正确写法:

long 

记得看过什么地方说原来在C里面常量一般用

#define XXX_XXX_XXXX xx 这样来用,在预编译的时候处理掉;

好像怎么着了不如c++的const爽,大概就因为c++类型检查严格吧;

const还有比较特殊的地方就是运用到类里面;

class 
const 

被函数返回的地址是不可以被修改的; 大概c++编译器认为 char* 和const char* 根本不是一种类型;

CA 

正确写法:

const 

如果有这样个函数 const long CA::con_func_value() 直接返回数值而不是地址或引用,那么,据说这样没有意义;

因为,返回值仅仅是一份临时拷贝,返回之后保存该值的临时对象就消失了,也没有谁有机会去修改它;

如果函数返回一个引用,据说不常见 ;

CA & operate = (const CA &other); 赋值函数是这样子的,好像没什么别的地方用引用返回了;

如果变成这样 const CA & operate = (const CA &other); 会影响连续赋值

CA a,b,c;

a=b=c; //这个正常

long 

const成员函数就是不能修改成员数据的函数;如果实现这样

long 

void CA::con_func2(const char * in_str)

const类型的参数就很好理解了,就是函数内部不能修改参数的值,这只对指针和引用有效,对值传递意义不大;

值传递的话函数内部看到的只是一份拷贝而已,你爱改就改呗,反正对外面没影响;

另外就是只能对输入参数用const,对输出参数用了const就.......进去啥还出来啥,还调函数干啥....

先就这些吧,欢迎大家补充!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值