C++ 编程问题 关于 this 和 const

来源:百度知道 编辑:UC知道 时间:2024/06/25 06:07:07
this+1 或 this-1 表示的对象地址移动一个对象的偏移量,还是就一个字节.或其他.

const问题:下面的const是什么意思?
int year(参数列表)const{return y;}

有点针对性,别一下贴一大堆.

一个对象的偏移,this就是指向class自身的一个指针而已,所以+1,-1就跟普通指针一样

const:这里表示const函数,只有类的成员函数可以这样用,它表示这个函数不能修改类的成员变量,但是有一些成员变量还是可以修改的,那就是用关键字mutable声明的成员变量。举个例子就很明白了:
class A
{
public:
A() : a(0){}
void func() const;
private:
int a;
};

这里func就是const的,如果里面修改了a,那编译就不会通过:
void A::func() const { a = 1; } //编译不通过
但是如果,a声明的时候是这样的:
mutable int a;
那么上面的func()就可以编译通过,mutable表示这个变量不受const影响