동적으로 할당 된 객체의 2 차원 배열이 필요합니다.개체의 2 차원 배열을 초기화하는 가장 적합한 방법은 무엇입니까?
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;
}
내가 server_session::Pglvcl_sess
변수를 malloc
해야 :
server_session **server_session::Pglvcl_sess;
동적 객체의 배열의 배열을 채울 수있는 방법이있다 :
나는 다음과 같이 객체의 포인터에 고정 포인터를 선언?초기화하는 올바른 방법은 무엇입니까?
EDIT : 어플리케이션 시작시에이 방법을 실행
이 OK인가?
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;
}
}
}
@Michael Dorgan, 나는 순수한 c로 컴파일 된 라이브러리에 문제가있었습니다. 나는이 lib에서 함수를 호출하는 Vector를 사용하여 세그먼테이션 결함을 가졌습니다. 그것이 관련이 있는지 모르겠지만 포인터를 사용하여 포인터가 작동 ... – pcent