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