I. Динамическая память:
Все функции данной библиотеки базируются на динамической памяти (property). Преимущество данного способа в том, что ячейки с памятью выделяются и удаляются прямо в ходе выполнения программы (скомпилированного кода).
II. Удобство и возможности:
Самая, пожалуй резкая причина: почему это нужно использовать - удобство в работе... Необходимо всего лишь объявить структуру с типом datatype как глобальную - и пожалуйста, нам доступен ряд функций по управлению динамической памятью.
Пример:
Code
#include <ssk_memory.p>
datatype vehicle; // структура vehicle
#define vehicle:: vehicle_ // для визуального разделения
public OnGameModeInit() {
...
new vehicleID = CreateVehicle( ... );
vehicle::set_string( vehicleID, "владелец", "Иван Васильевич Пупкин" );
...
}
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger) {
...
new string[ 128 ];
format( string, sizeof string, "Владелец автомобиля: %s.", vehicle::get_string( vehicleid, "владелец" ) );
SendClientMessage( playerid, -1, string );
...
}
Code
%name%::set_int( index, "Имя ячейки", value );
%name%::get_int( index, "Имя ячейки" );
%name%::set_string( index, "Имя ячейки", "Содержимое" );
%name%::get_string( index, "Имя ячейки" );
%name%::set_float( index, "Имя ячейки", Float:value );
%name%::get_float( index, "Имя ячейки" );
III. Скорость работы:
Сомнений нет, что скорость работы ниже чем например с простыми обращениями к переменным. Но это всего-лишь 160-200 тиков на 10.000 итераций ( установить значение, и изъять )
Автор: xJester
Скачать.