2
我正在学习ns-3 tutorial。我无法理解下面的代码片断:从静态方法访问非静态成员的工作示例
class MyObject : public Object
{
public:
static TypeId GetTypeId (void)
{
static TypeId tid = TypeId ("MyObject")
.SetParent (Object::GetTypeId())
.AddConstructor<MyObject>()
.AddTraceSource ("MyInteger",
"An integer value to trace.",
MakeTraceSourceAccessor (&MyObject::m_myInt))
;
return tid;
}
MyObject() {}
TracedValue<int32_t> m_myInt;
};
据我所知,为MyObject :: m_myInt是从静态方法来非静态类成员m_myInt接入和&借此构件的地址。此代码已成功编译并执行。怎么可能?静态方法使用什么类的实例?
这实际上是一个指向成员的指针(不是指向实例成员的指针)。看[这个问题](http://stackoverflow.com/q/670734/1272627);它有一些很好的答案。 – Kaiged 2012-07-27 21:00:55