LINUX.ORG.RU

История изменений

Исправление MOPKOBKA, (текущая версия) :

Я думал мы про Trait, но ты видимо про dyn &Trait, так вот, смотри как это выглядит в С++, точно так же: https://godbolt.org/z/o3M5KM3aW

test1(PrintableInt{10});

mov     QWORD PTR [rsp], OFFSET FLAT:"vtable for PrintableInt"+16
mov     DWORD PTR [rsp+8], 10
call    "test1(Printable const&)"

В чем отличие от vtable вообще? Точно так же test1 вызовет print из этой таблицы, зная смещение метода.

Исправление MOPKOBKA, :

Я думал мы про Trait, но ты видимо про dyn &Trait, так вот, смотри как это выглядит в С++, точно так же: https://godbolt.org/z/o3M5KM3aW

test1(PrintableInt{10});

mov     QWORD PTR [rsp], OFFSET FLAT:"vtable for PrintableInt"+16
mov     DWORD PTR [rsp+8], 10
call    "test1(Printable const&)"

В чем отличие от vtable вообще?

Исправление MOPKOBKA, :

Я думал мы про Trait, но ты видимо про dyn &Trait, так вот, смотри как это выглядит в С++, точно так же: https://godbolt.org/z/o3M5KM3aW

mov     QWORD PTR [rsp], OFFSET FLAT:"vtable for PrintableInt"+16
mov     DWORD PTR [rsp+8], 10
call    "test1(Printable const&)"

В чем отличие от vtable вообще?

Исходная версия MOPKOBKA, :

Я думал мы про Trait, но ты видимо про dyn &Trait, так вот, смотри как это выглядит в С++, точно так же: https://godbolt.org/z/o3M5KM3aW

В чем отличие от vtable вообще?