Clear
 
    Очищает или инициализирует некоторую память


Синтаксис

Declare Sub Clear cdecl ( ByRef dst As Any, ByVal value As Integer = 0, ByVal bytes As Integer )

Использование

Clear( dst, [value], bytes )

Параметры

dst
начальный адрес в памяти
value
значение, задаваемое всем байтам
bytes
количество байтов для очистки

Description

Clear задает одному или более байтам в памяти определенное значение (значение по умолчанию равно нулю (0) если не указано). Начальный адрес берется из ссылки на элемент переменной или массива.

ПРИМЕЧАНИЕ: Для того, чтобы очистить память,  Pointer должен быть разыменован сначала. В противном случае, Clear будет пытаться очистить байты в памяти самой переменной-указателя.

Пример

'создать массив со 100 элементами
Dim array(0 To 99) As Integer

'Очистить содержимое массива нулями (0), начиная с первого элемента
Clear array(0), , 100 * SizeOf(Integer)


'выделить 20 байтов памяти
Dim As Byte Ptr p = Allocate(20)

'значение каждого из первых десяти байт будет равно 0
Clear *p, 0, 10

'каждый из следующих 10 байт будет равен 42
Clear p[10], 42, 10

'проверить значения выделенных байтов
For i As Integer = 0 To 19
    Print i, p[i]
Next

'освободить память
Deallocate p


Отличия от QB

  • Поведение и использование является новым в FreeBASIC
  • Ключевое слово CLEAR было использовано в QB , чтобы стереть все переменные, закрыть все файлы, и при необходимости изменить размер стека. Такое использование не поддерживается в FreeBASIC.

См. также