Цитата |
---|
vikttur написал: когда выгодно применять Integer или Byte? |
Добрый вечер, Виктор.
Выгоду от использования Integer на сегодняшний день трудно найти, скорее можно говорить о необходимости в некоторых случаях.
Обычно встречается необходимость в использовании Integer и Byte в кодах API.
Ограничение в положительных Integer, например, есть в VBA - см. FreeFile
Шагать побайтно обычно приходится при обработке текстового массива: Dim b() As Byte: b() = "Текст" и т.д.
Но работа побайтно может приводить к замедлению кода.
Например, в 64-битных приложениях использование API CopyMemory (точнее - RtlMoveMemory) медленнее даже кода VBA и в раз шесть медленее, чем в 32-битных приложениях.
Почему-то в CopyMemory до сих пор используется побайтное копирование, обычно копируют по 4 ( 8 ) Байта, и отдельно побайтно - оставшийся хвостик Байтов, если не кратно 4-м Байтам.
В принципе, Integеr и в UDT (пример в #13) займет свои положенные 2 Байта, если не требуется выравнивание памяти:
Код |
---|
Type MyType1
Int1 As Integer
Int2 As Integer
Lng As Long
End Type
Sub Test1()
Dim x As MyType1
Debug.Print "Integer", VarPtr(x.Lng) - VarPtr(x.Int2)
End Sub |