Мне нужен динамически размещаемый двумерный массив объектов.
Я объявил статический указатель на указатель на объект следующим образом:
server_session **server_session::Pglvcl_sess;
Существует метод для динамического заполнения массивамассива объекта:
int server_session::createSession()
{
int ret = -1;
// looks for the next available position on the array
for (int i = 0; i <= MAX_SESSION; i++)
{
// if there's an available position, instantiates an object
if (server_session::Pglvcl_sess[i] == NULL)
{
// instantiates object
server_session::Pglvcl_sess[i] = new server_session();
ret = i;
break;
}
}
return ret;
}
Должен ли я malloc
server_session::Pglvcl_sess
переменная?
Как правильно ее инициализировать?
РЕДАКТИРОВАТЬ:
Приложение выполняет этот метод при запуске, это нормально?
void server_session::initializeSessions()
{
server_session::Pglvcl_sess = ( server_session * * ) malloc(MAX_SESSION * sizeof(server_session));
for (int i = 0; i <= MAX_SESSION; i++)
{
if (server_session::Pglvcl_sess[i] != NULL)
{
server_session::Pglvcl_sess[i] = NULL;
}
}
}