В чем смысл абстракции времени компиляции? - PullRequest
0 голосов
/ 26 февраля 2012

Я наткнулся на предложение «Абстракция времени компиляции поведения во время выполнения», что здесь абстракция времени компиляции? Мои предположения были бы,

как в языке, пытаясь оптимизировать / делать вещи, которые можно сделать во время компиляции, и оставляя место только для вещей, которые можно сделать только во время выполнения,

Например. int a; a = 5; // 5 можно назначить только во время компиляции (если это не const), потому что пользователь мог создать программу, где он получает данные из командной строки, stdin, fin и т. д. и т. д.

где as, int a // может быть сделано во время компиляции, так как вы знаете тип сразу ......

1 Ответ

2 голосов
/ 27 февраля 2012

Кажется, что вас смущает "абстракция времени компиляции" в

Проверка статического типа - это абстракция времени выполнения вашей программы во время компиляции, ...

(цитата из статьи «Статическая печать там, где это возможно, динамическая печать при необходимости», на которую вы ссылались в своем комментарии)

Если слово «абстракция» было заменено на «приближение»,Будет ли это иметь больше смысла для вас?

Учитывая выражение E типа T, мы можем сказать, что T аппроксимирует во время компиляции сортировку значений, вычисленных во время выполнения (при оценке E).Например, скажем, у вас есть выражение [2 + 2 * 3] типа [целое число] - вы можете сказать, что «это выражение будет вычисляться как целое число».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...