AngelScript Help

Ссылки на класс

https://www.angelcode.com/angelscript/sdk/docs/manual/doc_script_handle.html

Для объявления ссылки используется оператор @. Изначальным значением ссылок является null.

Ссылка указывает на фактический объект. Для указания того, что вы работаете непосредственно со ссылкой, а не объектом необходимо использовать оператор @.

class A { string s = "1"; } A@ a; // [[[null|null.html]]] void [[[main|main.html]]](){ // print(a.s); // Ошибка! Null pointer access. Ссылка указывает на [[[null|null.html]]] // a = A(); // Ошибка! Ссылка указывает на [[[null|null.html]]], которому нельзя присвоить значение @a = @A(); print(a.s); // 1 }

В некоторых случаях компилятор может сам определить, что необходимо вернуть ссылку на класс и оператор @ можно опустить.

class A { string s = "2"; } void [[[main|main.html]]](){ A@ a = A(); // Опускаем оператор @ A@ b = a; // Опускаем оператор @ print(a.s + b.s); // 22 }
Last modified: 16 October 2024