[C++] Virtual Function에 Access
CS/C/C++ 2009. 11. 6. 21:13WebKit Source에 보면
결국 vptr()을 통해서 해당 virtual function에 직접 access 가능 하다.
실제 사용은,
void* vptr() { return * reinterpret_cast<void**>(this); }요런 함수가 정의되어 있다. 그림으로 나타내 보면,
결국 vptr()을 통해서 해당 virtual function에 직접 access 가능 하다.
실제 사용은,
// ... if (value.isCell() && (value.asCell()->vptr() == globaData.jsFunctionVPtr) // ... struct VPtrSet { VPtrSet(); void* jsArrayVPtr; void* jsByteArrayVPtr; void* jsStringVPtr; void* jsFunctionVPtr; };요렇게 쓰인다.