易采站长站为您分析C++编程指向成员的指针以及this指针的基本使用指南,与C语言一样,存储的数值被解释成为内存里的一个地址,需要的朋友可以参考下
指向成员的指针
指向成员的指针的声明是指针声明的特例。使用以下序列来声明它们:
[storage-class-specifiers] [cv-qualifiers] type-specifiers [ms-modifier]
qualified-name ::* [cv-qualifiers] identifier
[= & qualified-name :: member-name];
声明说明符:
- 可选存储类说明符。
- 可选 const 和/或 volatile 说明符。
-
类型说明符:类型的名称。这是要指向的成员的类型,而不是类。
声明符:
- 可选的 Microsoft 专用修饰符。
- 包含要指向的成员的类的限定名。
- :: 运算符。
- * 运算符。
- 可选 const 和/或 volatile 说明符。
-
命名指向成员的指针的标识符。
可选的初始值设定项:
- = 运算符。
- & 运算符。
- 类的限定名。
- :: 运算符。
-
适当类型的类的非静态成员的名称。
像往常一样,允许在单个声明中使用多个声明符(以及任何关联的初始值设定项)。
指向类的成员的指针与普通指针不同,因为它有该成员的类型的类型信息和该成员所属的类的类型信息。常规指针只标识内存中的一个对象或只具有其地址。指向类的某个成员的指针标识类的所有实例中的该成员。以下示例声明类、Window 和一些指向成员数据的指针。// pointers_to_members1.cpp class Window { public: Window(); // Default constructor. Window( int x1, int y1, // Constructor specifying int x2, int y2 ); // window size. bool SetCaption( const char *szTitle ); // Set window caption. const char *GetCaption(); // Get window caption. char *szWinCaption; // Window caption. }; // Declare a pointer to the data member szWinCaption. char * Window::* pwCaption = &Window::szWinCaption; int main() { }










