Совпадает ли статический тип объекта с динамическим типом, если компилятор может определить динамический тип при компиляC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Совпадает ли статический тип объекта с динамическим типом, если компилятор может определить динамический тип при компиля

Сообщение Anonymous »

[defns.dynamic.type] считывает

⟨glvalue⟩ тип самого производного объекта, на который ссылается glvalue

насколько я понимаю, данное

Код: Выделить всё

struct B {};
struct D : B {};
std::unique_ptr d = std::make_unique();
— это динамический тип *d, даже если он известен во время компиляции.
Из [defns.static.type] я прочитал это ( мой акцент)

тип выражения результат анализа программы без учета семантики выполнения< /p>

Значит ли это, что *тип static у d также является D const, а не B const?
В конце концов, компилятор может (и часто делает) провести анализ и прийти к выводу, что *d действительно является константой D, а не константой B.

Подробнее здесь: https://stackoverflow.com/questions/791 ... he-compile
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»