此指针的类型
这 指针的类型在函数声明中修改 const 和 volatile 关键字。 ,在参数列表的函数后,若要声明函数作为具有一个或多个的属性这些关键字,添加关键字。
请看以下示例:
// type_of_this_pointer1.cpp
class Point
{
unsigned X() const;
};
int main()
{
}
上面的代码声明成员函数, X, 这 指针将为 const 对象的一 const 指针。 组合 cvMOD 列表 选项,即可,但始终修改 这所指向的对象,而不是 这 指针。 因此,以下声明函数 X; 这 指针是 const 指向 const 对象:
// type_of_this_pointer2.cpp
class Point
{
unsigned X() const;
};
int main()
{
}
这 的类型在成员函数的由以下语法描述, 请 cv 限定符列表 从成员函数声明确定的,可以为 const 或 变量 (或两者),因此, 类类型 是类的名称:
[请 cv 限定符列表] 类类型的 *const 这
换言之, 这 始终是常数指针;不能重新指派。 用于成员函数声明的 const 或 volatile 限定符应用于类实例指向由 这 对这些功能的范围内。
下表介绍更多有关这些修饰符的工作方式。
语义此修饰符
修饰符 |
含义 |
---|---|
const |
不能更改数据成员;无法调用不是 const的成员函数。 |
volatile |
,每次访问,成员数据从内存中加载;禁用某些优化。 |
它是通过为不是 const的成员函数的一 const 对象的错误。 同样,它是通过为不是 volatile的成员函数的一 volatile 对象的错误。
作为 const 声明成员函数不能更改数据成员 —在此功能, 这 指针是指向 const 对象。
备注
构造函数和析构函数不能声明为 const 或 volatile。它们在 const 或 volatile 对象可能,但是,调用。