Что такое динамический тип объекта

Я думаю, что динамический тип означает динамически выделяемый объект с использованием new . В следующем случае вы говорите, что p указывает на динамический тип или статический тип объекта? Стандартно это не говорит о том, что динамический тип является динамическим объектом.

1.3.3 - Тип наиболее производного объекта (1.8), к которому относится lvalue, обозначенное выражением lvalue. [Пример: если указатель (8.3.1) p, чей статический тип является "указателем на класс B", указывает на объект класса D, производный от B (пункт 10), то динамический тип выражения * p - "D." Ссылки (8.3.2) рассматриваются аналогично. ]

Что означает следующая цитата

Динамический тип выражения rvalue - это его статический тип

class Base {
    virtual void foo(){}
};

class Derived : public Base {
    void foo(){}
};

int main()
{
    Derived d;
    Base *p = &d;
}
10
задан curiousguy 30 June 2019 в 20:23
поделиться