美文网首页C/C++
const修饰指针变量/引用/对象

const修饰指针变量/引用/对象

作者: cx7 | 来源:发表于2019-03-17 23:49 被阅读0次

const修饰指针或者指针变量的区别

char gVariable = 0xff;

修饰指向的变量(gVariable不可被修改, pNext可以改变指向)
const char* pNext = &gVariable;
  
修饰指针本身(gVariable可被修改,pNext不可修改 只能指向gVariable)
char* const pNext = &gVariable;

分辨的规则在于从const起往右读取 被修饰的是指针还是指针变量

const char* pNext = &gVariable; const右边的是  *pNext 指针变量 所以gVariable 不可被修改

char* const pNext = &gVariable; const右边的是 pNext 指针 所以pNext不可被改变

const修饰对象和成员函数

const修饰的成员函数 不能修改类的变量属性
一般用来控制get类的方法

class obj {
public:
    void getid() const {
        return id;
    }
private:
    int id;
};

const修饰的对象 只能调用它的const成员函数

const修饰引用

和指针不同 引用是不支持const修饰的 引用自声明起 就固定指向某一个对象 不能改变

cons int &a = 5;

这样的修饰 实际上是指定了a指向的这个对象不可修改
所以类似这样的操作 编译器会报错

int & const a = 5; //error 引用不允许const修饰

相关文章

  • const修饰指针变量/引用/对象

    const修饰指针或者指针变量的区别 分辨的规则在于从const起往右读取 被修饰的是指针还是指针变量 const...

  • IOS关键字const/static/extern/synthe

    const const用来修饰右边的基本变量或指针变量被修饰的变量只读,不能被修改 static 修饰变量保证局部...

  • iOS巩基系列(二)——const、static、extern

    const const用来修饰右边的基本变量或指针变量 被修饰的变量只读,不能被修改 static 修饰局部变量在...

  • OC中的extern,static,const

    const的作用: const仅仅用来修饰右边的变量(基本数据变量p,指针变量*p)。 被const修饰的变量是只...

  • const

    const 修饰 一般变量 或者 指针变量int const a = 1;int const *b; 被const...

  • const static extern #definf

    const const仅仅用来修饰右边的变量(基本数据变量p,指针变量*p) 被const修饰的变量是只读的。 s...

  • const、static、extern使用

    const作用: 1.修饰右边指针变量和基础变量 2.被修饰的变量不可变 const使用场景: 修饰全局变量---...

  • C++ const

    修饰成员变量 const修饰指针变量时: (1)const出现在星号左边,表示被指物是常量 (2)const位于*...

  • const、static、extern

    const 限制类型:仅仅用来修饰右边的变量(基本数据变量,指针变量)被const修饰的变量只读。 和define...

  • OC中的extern,static,const

    const的作用: 1.const仅仅用来修饰右边的变量(基本数据变量p,指针变量*p)。2.被const修饰的变...

网友评论

    本文标题:const修饰指针变量/引用/对象

    本文链接:https://www.haomeiwen.com/subject/fgqmmqtx.html