LINUX.ORG.RU

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

Исправление 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 без вызова специальной функции привести нельзя, даже если эти типы имеют одинаковое представление. Это и есть строгая типизация, когда не можешь вычислить арктангенс четвертой литеры слова.