title: Virtual functions table offset
body: <p>I would like to ask you on what does the offset of the table of virtual functions for a class depend? I mean, from what I've read it at least depends on compiler, but does it varies from class to class?</p>
  
  <p>Edit: by offset I mean the position of the table relative to the address of the owner object.</p>
  
  <p>Edit: example code:</p>
  
  <pre><code>void **vtable = *((void***)(((char*)object)+offset));
  
  int **ivtable=(int **)vtable;
  
  void* firstFunction = (void*) ivtable[0];
  </code></pre>