Двойное наследование в памяти

Поділитися
Вставка
  • Опубліковано 23 гру 2024

КОМЕНТАРІ • 9

  • @mvgudz
    @mvgudz 7 років тому +6

    я бы назвал "thunk" - "подразумеваем", "имеем в виду"
    передаем класс C, но подразумеваем A.
    Спасибо за видео!

  • @illya-litkin
    @illya-litkin 7 років тому

    есть место в коде, когда указатель на class A : public B, public C передаётся как void*, а потом его надо использовать только как С*, как всё это правильно закастить? чем будет отличаться поведение void* c = static_cast(ptrA) и void* c = dynamic_cast(ptr A). При этом интересны разные вариации на тему виртуальности методов. В моём случае C вообще был просто интерфейсом

  • @slobby94
    @slobby94 8 років тому +1

    Спасибо за ваши видео! Для меня осталось непонятно, что происходит с указателем на таблицу виртуальных функций.

  • @thomasmorgan9043
    @thomasmorgan9043 9 років тому +1

    Спасибо, интересное видео. Это получается что если такой порядок наследования:
    class C: public A, public B, то в памяти ABC, а если:
    class C: public B, public A, то в памяти BAC ?
    Еще интересно посмотреть видео про конструкторы (аллокаторы).

    • @Tolyan97kartofan
      @Tolyan97kartofan 5 років тому +1

      компилятор расставляет порядок ABC или BAC и сам же создаёт thunk, зачем нам об этом задумываться, вручную указатели мы двигать не будем всё равно

  • @wow_wow
    @wow_wow 8 років тому

    у вас там слева шторы что ли красные ?

    • @VladimirMozhenkov
      @VladimirMozhenkov  8 років тому

      ua-cam.com/video/VfpvKrtD7zo/v-deo.html

    • @wow_wow
      @wow_wow 8 років тому

      все ясно. от красноватой стены свет отражается