2016-11-22 3 views
0

Интересно, используются ли стирающие методы в любом месте на языке C. Что происходит в C, когда выполняется литье типов? Использует ли он концепции, похожие на стирание стилей и литье вниз?Существует понятие стирания типа на языке C?

В чем основное отличие стирания типа и литья типа?

+1

C не имеет скрытых типов, поэтому стереть нечего. – Barmar

+0

Вот ['C++' вопрос] (http://stackoverflow.com/questions/6089498/type-erasure-for-methods-with-differing-in-return-types) FYI. –

+0

В чем основное отличие стирания стилей и литья? – NaveeNeo

ответ

1

Вы разработчик Java?
Если да, вам нужно забыть много вещей и узнать еще одно.

Вниз кастинг означает наследование. Так что это не C.

C может бросить почти все, что ни к чему (C предполагает, что вы знаете, что вы делаете, в отличие от Java, C# и других)

Тип стиранием является понятие Java, потому что JRE Безразлично» t имеют генерики во время выполнения, только raw-типы.

В C у вас есть только двоичный код во время выполнения, как и в Assembly, и это все, что нам нужно, чтобы иметь молниеносные исполняемые файлы (помните, что почти любой компилятор, фреймворк или виртуальная машина построена на C или C++).

В C нет такой вещи RTTI (информация о времени выполнения), и нам это не нужно, потому что цель C программируется непосредственно над металлом.

Смежные вопросы