Jump to content

    
Arlleex

Плавный переход C -> C++ под МК

Recommended Posts

P.S. Резюмирую. Да, я немного плыву в теме накладных расходов при использовании классов и виртуальных методов. И ещё много в чём. Но не я один плыву. Например, тут утверждалось постоянно, что будет использоваться VTABLE при использовании виртуальных методов. Чтож, будет. Но только при определённых обстоятельствах, котоыре не уточнялись. А не всегда. Так что... вывод каждый может делать сам.

Share this post


Link to post
Share on other sites
2 часа назад, haker_fox сказал:

Например, тут утверждалось постоянно, что будет использоваться VTABLE при использовании виртуальных методов. Чтож, будет. Но только при определённых обстоятельствах, котоыре не уточнялись. А не всегда. Так что... вывод каждый может делать сам.

Если Вы о том, что оно используется только при вызове через указатель на базовый класс, так вроде это должно быть само собой очевидным. Как и само собой должно быть очевидным, что если вызовы методов через указатели на базовый класс не используются, то и нет никакого смысла в виртуальных членах. О чём Вам компилятор как бы косвенно и намекает, удаляя обращения к VTABLE (да и саму VTABLE наверняка удаляет, если нигде больше в коде нет таких вызовов).

Так что - если нет нигде вызовов например write() через указатель на базовый класс, то зачем её сделали virtual?

Share this post


Link to post
Share on other sites
8 hours ago, jcxz said:

если нет нигде вызовов например write() через указатель на базовый класс

Сейчас нет. Завтра появятся. Что же мне добавлять virtual  в спешном порядке?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.