Why do you care? The vtable is an implementation artifact that by design and architecture is invisible.
Stop trying to be cute. Use the language in the manner it was designed to be used. In nearly two decades of heavy C++, the only time I've even look at it is the JVM side of JNI. If you think you need to worry about the vtable (or even acknowledge its existance), you are almost cetainly abusing the C++ language. Make the interface simple and clear. Make it easy to use. Don't use interface structures. Use the language, don't fight it. Don't do anything that might break type safety. > On Jul 22, 2014, at 8:06 AM, Dmitry Yemanov <firebi...@yandex.ru> wrote: > > 22.07.2014 14:54, Alex Peshkoff wrote: > >> Not sure how does presence of overloaded methods affect stability of >> vtable layout, but agree that we should better avoid them in public >> interfaces. > > Even if you put an overloaded method at the end of the interface, its > vtable entry will be placed in the middle (alongside with its > counterpart) by the compiler, thus breaking the ABI compatibility. > > > Dmitry > > > ------------------------------------------------------------------------------ > Want fast and easy access to all the code in your enterprise? Index and > search up to 200,000 lines of code with a free copy of Black Duck > Code Sight - the same software that powers the world's largest code > search on Ohloh, the Black Duck Open Hub! Try it now. > http://p.sf.net/sfu/bds > Firebird-Devel mailing list, web interface at > https://lists.sourceforge.net/lists/listinfo/firebird-devel ------------------------------------------------------------------------------ Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel