Архив метки: Size

Так что, Size() — это обычная рантаймовская ф-ия?

NT> Так что, Size() — это обычная рантаймовская ф-ия? Я полагал, что эта ф-ия NT> вычисляется компилятором:
NT> «SIZE Supplies the amount of memory used for storage. NT> variable The label of a PREVIOUSLY DECLARED variable. NT> […] NT> SIZE directs the COMPILER to supply …»

Все правильно — Size() это не рантаймовская функция, но компилятор обрабатывает ее интеллектуально а не просто вычисляет на этапе компиляции. Если мы просим дать нам размер переданной в процедуру строки, то компилятор в качестве результата Size() подставляет значение внутренней переменной, в которой хранится длина переданной в процедуру строки. То-же касается и рефералов на строки/группы/очереди/классы — компилятор генерит код, который «вытаскивает» из этих рефералов нужное значение.

Так что, в доке — немного неполная инфа по Size(). И можно, с некоторой натяжкой, считать, что Size() — это рантаймовская функция в виде online-кода.