C/C++中const的用法

C/C++中的const的使用方法

1、修饰常量

const int i = 4;   //i是常量

2、修饰指针

       主要看const是在*前还是*后面,在*前是指针所指向的内容是常量,在*后面是指针是常量

const int *p;      //指针所指向的内容是常量
int const *p;      //指针所指向的内容是常量
int * const P;     //指针是常量
const int* const p;//指针和指针所指向的内容都是常量

3、修饰类对象时

      被const修饰的对象,对象中的任何成员都不能修改,成员中的被const修饰的成员函数才可以被调用,未被const修饰的函数不能被调用,因为有修改数据成员的风险。

class A
{
public:
    void func1();
    void func2() const;
};


const A a;
a.func1();    //错误
a.func2();    //正确

4、const修饰的成员变量

    被const修饰的成员变量不能被修改,所以只能在初始化列表中进行初始化

class A
{
public:
    const int m_iAge;
    A(int age):m_iAge(age)
    {
    }
};

A a(10);

5、const修饰成员函数

       被const修饰的成员函数不能修该对象中的成员,某个成员函数不会修改数据成员,最好用const进行修饰。

       常成员函数,对数据成员只有可读权限

class A
{
public:
    int m_iAge;
    void func1() const;      //常成员函数
    {
        //m_iAge = 10;    //错误,常成员函数对数据成员只有可读权限
    }
};

6、const在函数声明中使用

        修饰形参时,被const修饰的变量是输入型参数,未被修饰的形参,如果是指针,或者引用,多为输出型参数

void func1(const int a,int *b);    //形参a为输入型参数,形参b为输出型参数
void func2(const int a,int &c);    //形参a为输入型参数,形参c为输出型参数

参考了前辈写的这篇博客https://www.jb51.net/article/118141.htm

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值