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