История изменений
Исправление Freyr69, (текущая версия) :
Строгая типизация подразумевает, что вы не можете просто так выдать объект типа T за объект типа Y
Ну вот я выдал объект типа char за объект типа float.
float x = "Hello"
Есть числовые типы char, short, wchar_t, int
Вот именно, что типы, разные, между которыми есть неявные приведения.
struct A { void f(); ... };
Ну оно и в сишке так, ибо сишка просто не умеет приводить сложные типы. Но в каком-нибудь окамле или хаскиле int_32 в Integer без вызова специальной функции привести нельзя, даже если эти типы имеют одинаковое представление. Это и есть строгая типизация, когда не можешь вычислить арктангенс четвертой литеры слова.
Исходная версия Freyr69, :
Строгая типизация подразумевает, что вы не можете просто так выдать объект типа T за объект типа Y
Ну вот я выдал объект типа char за объект типа float.
float x = "Hello"
Есть числовые типы char, short, wchar_t, int
Вот именно, что типы, между которыми есть неявные приведения.
struct A { void f(); ... };
Ну оно и в сишке так, ибо сишка просто не умеет приводить сложные типы. Но в каком-нибудь окамле или хаскиле int_32 в Integer без вызова специальной функции привести нельзя, даже если эти типы имеют одинаковое представление. Это и есть строгая типизация, когда не можешь вычислить арктангенс четвертой литеры слова.