AngelScript Help

null

Изначальное значение с которым инициализируются сложные объекты.

Примитивы, как следует из названия, просты и хранят значение в памяти напрямую. В первом приближении можно считать, что ссылка на переменную содержит значение примитива. Для более сложных объектов такой подход не применим и поэтому требуется специально обученное значение, которое будет обозначать что переменная не хранит никакой объект.

funcdef void Callback(); // Объявим простой тип функции, чтоб получить использовать её для ссылки void main(){ Callback A@; // Любой ссылочный тип по умолчанию инициализируется как null A@ = function(){ print("Присвоим переменной анонимную функцию"); }; TimerStart(CreateTimer(), 1.f, false, @A); // Используем переменную каким либо образом A@ = null; // Освободим память не дожижаясь заверщения main }

Строки

Хоть строки и являются массивом байт, то бишь сложным комплексным объектом, но из-за строгого разграничения ответственности между типами null к ним не применим. Вместо этого используется пустая строка.

void main(){ string A; // Строка инициализирована как пустая, но ресурс памяти не создан A = "Ресурс памяти создан и он принимает значение последовательности байт этого текста"; A = ""; // При установке пустой строки значение ресурс памяти удаляется. }
Last modified: 24 September 2024