读书人

类成员对象的指针如何typedef

发布时间: 2013-05-02 09:39:29 作者: rapoo

类成员对象的指针怎么typedef
我记的类成员对象的指针是静态数据,
应该是可以向成员函数指针一样typedef的
但是该怎么定义呢?
差不多是这个意思
struct A
{
int time;
};

typedef &A::time a_point;
[解决办法]
类的成员变量位置是在类的 this 指针偏移一定的位置. this 都不是静态的, 成员变量怎么会是静态的.
而且 typedef 是定义类型的, 而不是定义数据, 管你静态不静态, 都不该使用 typedef

[解决办法]
用指针指向类成员可以做到,typedef怎么定义这个指针就不会了。

#include <iostream>

struct A
{
int time;
};


int main()
{
using namespace std;

A a;
a.time = 10;
cout << "a.time = " << a.time << endl;
int A::*a_point = &A::time;
cout << "a.*a_point = " << a.*a_point << endl;
a.*a_point = 20;
cout << "a.time = " << a.time << endl;
return 0;
}


执行结果:
a.time = 10
a.*a_point = 10
a.time = 20

读书人网 >C++

热点推荐