Почему C ++ считается статическим языком

Из моего урока чтения —

В свободные переменные (в функции активации):

  • Статическое определение объема: свободные переменные оцениваются в контексте определения вхождения функции. включают в себя много вы знаете: ML, Java,
    C ++.

  • Динамическое определение объема: свободные переменные в теле функции оцениваются в контексте вызова функции

  • Статические языки: Общий
    Включите много знакомых: ML, Java, C ++. Преимущества модульности проще
    переменный доступ компилятором

Можете ли вы привести пример, который описывает, почему C ++ рассматривает как Статические языки ?

1

Решение

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

int i = 10;

i в int может быть char.

в противоположном Python, например:

>>> x = "yourname"      # x is pointing string
>>> x = 5               # x pointing number

Таким образом, Python является примером «динамического типизированного языка»

2

Другие решения

Говорят, что язык программирования использует статическую типизацию, когда проверка типов выполняется во время компиляции, а не во время выполнения. In C++, variables need to be defined before they are used so that compilers know what type they are, and hence is statically typed,

Пожалуйста, посмотрите на статьи ниже

http://www.jvoegele.com/software/langcomp.html
http://existentialtype.wordpress.com/2011/03/19/dynamic-languages-are-static-languages/
http://en.wikipedia.org/wiki/Type_system
http://en.wikipedia.org/wiki/C%2B%2B

0

По вопросам рекламы [email protected]