此指针的类型

指针的类型在函数声明中修改 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 对象可能,但是,调用。

请参见

参考

此指针