Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

В компьютерной науке, проявляется типирование явно идентификация с помощью программного обеспечения программатора от типа каждого переменным объявляется. Например: если переменная X будет хранить целые числа, то ее тип должен быть объявлен как целочисленный. Термин «манифест типирование» часто используется термин латентной типизации , чтобы описать разницу между статическим , компиляции времени членства типа объекта и его времени выполнения идентичности типа.

Напротив, некоторые языки программирования используют неявную типизацию (также известный как вывод типа ), когда тип выводится из контекста во время компиляции, или допускают динамическую типизацию, в которой переменная просто объявляется и может быть присвоено значение любого типа во время выполнения.

Примеры [ править ]

Рассмотрим следующий пример, написанный на языке программирования C :

#include  <stdio.h>int  main ( void )  {  char  s []  =  "Тестовая строка" ;  float  x  =  0,0 ;  int  y  =  0 ; printf ( "Привет, мир! \ n " );  возврат  0 ; }

Обратите внимание, что переменные s , x и y были объявлены как массив символов, число с плавающей запятой и целое число соответственно. Система типов отвергает во время компиляции такие заблуждения, как попытки добавить s и x .

В отличие от этого , в Standard ML , то типы не должны быть явно объявлены. Вместо этого тип определяется типом присвоенного выражения.

let  val  s  =  "Test String"  val  x  =  0.0  val  y  =  0 in  print  "Hello, World! \ n " end

Там нет манифеста типов в этой программе, но компилятор все равно выводят типы string, realи intдля них, и будет отвергать выражение s+xкак ошибка времени компиляции.

Внешние ссылки [ править ]