Тип array это шаблон, который позволяет скрипту использовать массивы любого типа.
Так как это общий класс, он не является высокопроизводительным изза необходимости определять тип в процессе выполнения.
Поэтому рекомендуется регистрировать шаблонные специализации для массивов часто используемых типов.
Регистрируется с помощью RegisterScriptArray(asIScriptEngine*).
class CScriptArray { public: // Конструктор CScriptArray(asUINT length, asIObjectType *ot); virtual ~CScriptArray(); // Управление памятью void AddRef(); void Release(); // Информация о типе asIObjectType *GetArrayObjectType() const; int GetArrayTypeId() const; int GetElementTypeId() const; // Возвращает текущий размер asUINT GetSize(); // Ресайз void Resize(asUINT numElements); // Возвращает указатель на элемент. Возвращает 0 если индекс за пределами массива. void *At(asUINT index); // Копирует содержимое одного массива в другой CScriptArray &operator=(const CScriptArray&); };
class array{ array(); array(uint length); // Access elements // T & operator [] (uint) // const T & operator [] (uint) const array opAssign(const array & in); uint length(); void resize(uint); }
int main()
{
array arr(3);
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;
int sum = 0;
for( uint n = 0; n < arr.length(); n++ )
sum += arr[n];
return sum;
}