c/c++ const使用心得

本文详细探讨了C/C++中const关键字的使用,包括const修饰普通变量、指针、函数返回值、函数形参、类成员函数和成员变量的规则与注意事项。通过示例说明了const如何防止数据被意外修改,以及在不同场景下的最佳实践。

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

1、const是自左结合的运算,可以用于修饰普变量、指针、函数返回值、函数形参、类成员函数及成员变量。

2、const修饰普通变量(定义一个常量,在定义时必须被初始化,初始化之后其值不能被修改)

    const int a=10;                  正确

    const int b;                     错误,未被初始化

    const double d=1.0; d=2.0        错误,其值不能被修改


3、const修饰指针

    double tmp1=1.0;

    double tmp2=2.0;

    const double *a=&tmp1;            正确,const修饰 double,const double相当于double const

    a = &tmp2;                        正确

    *a = 3.0;                         错误,指向内容不能被修改,因为const用于修饰其值


    double * const b=&tmp1;           正确

    *b=4.0;                           正确

    b = &tmp2;                        错误,因为const修饰double *,指向地址不能被修改,其值是可以修改


4、const修饰函数返回值,如果返回值是基本数据类型,用const修饰没有意义,建议不加const,如果返回值是引用类型或对象,如    果想使调用者不能修改函数返回值,建议使用const修改

   const int FuncA(...)

   const ClassA FuncB(...)

   const String * FuncC(...)


5、const修饰函数形参,防止数据被修改

   char * FuncD(const int a, const char * ccstr)


6、const修饰类成员函数,不能修改类成员,除非用multable修饰之外,也不允许调用非const修饰成员函数

   class AAA {

       public:

           int GetPort(...) const       const修饰成员函数固定用法,放在右括号后面

           {

               count++;                 错误,不能修改成员变量值

               return iPort;            正确,也可修改其值

            }

       private:

           int count;

           multable int iPort;

   };


7、const修饰类成员变量与修改普通变量没有太大的差别。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值