Odpovídáte na názor k článku Systém maker v programovacím jazyku C3. Názory mohou přidávat pouze registrovaní uživatelé. Nově přidané názory se na webu objeví až po schválení redakcí.
No základní rozdíl je v tom, kde se nachází pointer na VFT. A od toho se odvíjí důsledky.
Rozhranie je prostriedok používaný pri realizácii jedného z druhov polymorfizmu. Jen to kontrakt, ktorý zaväzuje typ tvrdiaci, že rozhranie implementuje, poskytovať členov deklarovaných rozhraním. Nič viac, nič menej.
Ani špecifikácia rozhrania v C# neobsahuje nič o tom, že tabuľka funkcií je tam a tam, že prístup je optimalizovaný tak a tak, ani nič podobné. To je vecou špecifikácie CLR.
Pri takomto posudzovaní je nutné vedieť rozdeliť charakteristiky na hlavné a vedľajšie a to, čo uvádzate je implementačný detail, ktorý nesúvisí s tým, čo rozhranie je, ale s tým ako je realizované v rámci jedného konkrétneho behového prostredia.
V C++ to nikoho nezaujíma. To, že v C++ je rozhranie ako koncept implementované inak, nie je žiadny nedostatok, ktorý zabudol niekto vyriešiť, ale vedomé rozhodnutie, zabezpečujúce že prekladač má pod kontrolou úplne všetko a aj to, že volanie funkcie rozhrania bude rýchle, teda bez zbytočných skokov a vyhľadávaní.
Je to vedomá optimalizácia na rýchlosť, za cenu väčšinou zanedbateľného zvýšenia nárokov na pamäť. Pokiaľ má vo svete C++ s týmto niekto problém, má niekoľko ďalších spôsobov ako písať kód, s organizáciou dát vyhovujúcou modernému hardvéru a bez virtuálnych funkcií.
Podľa vašej logiky by rozhrania v iných jazykoch neboli rozhraniami, lebo sú implementované inak ako v C#.