Ссылка может быть передана в скрипт через свойство, глобальное или член класса, или он может быть возвращена через зарегистрированную функцию или метод класса.
Скриптовый движок не позволит декларация функций, которые принимают этот тип в качестве параметра, ни в качестве ссылки, ни в качестве хендла. Если бы это было разрешено, это бы вело к тому, что ссылка на экземпляр находится в стеке, что уже не может позволить держать одну ссылку.
// Регистрация типа, который не может быть в скрипте и не позволяет сохранять ссылки на себя r = engine->RegisterObjectType("single", 0, asOBJ_REF | asOBJ_NOHANDLE); assert( r >= 0 );
Такой тип наиболее полезен, если вы хотите иметь полный контроль над ссылками на объект. Например приложение может разрушить и воссоздать объекты, не беспокоясь о состоянии ссылки в скрипте. Это позволяет приложению контролировать доступ к объектам и их членам.