일부 고정 배열뿐만 아니라 일부 동적 할당 배열을 사용하는 C++ 클래스를 작성했습니다. 만약 누군가가 동적 배열을위한 메모리를 할당하는 올바른 방법을 안내해 줄 수 있는지, 아마도 constructor/deconstructor에서, 그리고 명시 적으로 호출하여 seg fault가 발생하지 않도록해야하는지 궁금합니다. 그래서 여기C++ 클래스의 2D 배열에 대한 적절한 메모리 할당
class Network {
public:
int n_nodes;
int user_index[MAX_USERS]; //a fixed array
int adjacency_matrix[][MAX_ITEMS];
//Network(int n_node, int** adjacency); //I would rather to set the element s in a function other than the constructor
Initializer(int n_node, int** adjacency);
~Netowrk();
}
이 클래스 내 특정 질문은 다음과 같습니다 : 여기 내 코드의 관련 부분의 단순화 된 버전입니다
1 - 나는 [] [] 미정와 2 차원 배열 adjacency_matrix을 가질 수 이니셜 라이저 함수에서 사용자가 설정할 때까지 행과 열 수?
2 - 2D 배열은 어디에서 삭제해야합니까? 나는 그것을 deconstructor에 써야합니까? 나는 deconstructor를 명시 적으로 호출해야합니까? 디스트 리뷰 터에서 파괴해야 할 것이 있습니까?
Dupe? http://stackoverflow.com/questions/2294338/c-2d-dynamic-array –