C++ const总结

c++中const的总结
c++中const修饰指针,第一种是让指针指向一个常量对象,这样可以防止指针改变指向对象的值;还有一种是指正本身声明为常量,这样可以防止改变指针指向的位置。

const之间的赋值

  1. 指向常量的指针

    1
    2
    int age = 39;
    const int *pt = &age;

    此处不能通过指针pt来修改pt指向的内容,下面的行为都是不允许的

    1
    2
    *pt += 1;
    cin >> *pt;

    然而这并不意味着pt指向的内容就是一个常量,

    1
    2
    *pt = 20;    //invalid
    age = 20; //valid

    另外,此处还可以将pt指向其他的内容;

    1
    2
    int age1 = 100;
    pt = &age1;

常用的c++ const总结

数据成员 非const成员函数 const成员函数
非const数据成员 可以引用,也可以改值 可引用,不可改值
const数据成员 可以引用,不可改值 可引用,不可改值
const对象的数据成员 不允许 可引用,不可改值

这里有有篇写的很好的const的总结,文中详细介绍了const的各种修饰用法,可以看一看
const详尽总结1


隐含的this指针