inline virtual методы

Тема в разделе "WASM.BEGINNERS", создана пользователем zobot1, 26 сен 2005.

Статус темы:
Закрыта.
  1. zobot1

    zobot1 New Member

    Публикаций:
    0
    Регистрация:
    30 июн 2005
    Сообщения:
    55
    Вопрос малость не в тему, но ...

    имеет ли смысл объявлять виртуальные методы inline (__forceinline)?



    Будут ли они подставлятся не смотря на то что находятся в Vtbl?
     
  2. Ustus

    Ustus New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2005
    Сообщения:
    834
    Адрес:
    Харьков
    Хм... Вообще-то вопрос к разработчикам компилера.

    Но почему бы и нет? Только если вызывается статически, т.е.:
    Код (Text):
    1.  
    2. class C
    3. {
    4. public:
    5.   virtual void f()
    6.     {  /* do anything */  }
    7. }
    8.  
    9. void ff(C* pc, C c)
    10. {
    11.   pc->f();  // только через vtbl
    12.   c.f();    // возможна inline-подстановка
    13. }
    14.  


    Только что проверил - Borland и Watcom так и делают. Microsoft'а нет под рукой, сори...
     
  3. zobot1

    zobot1 New Member

    Публикаций:
    0
    Регистрация:
    30 июн 2005
    Сообщения:
    55
    спасибо
     
Статус темы:
Закрыта.