하다가 도저히 답이 안나와서 질문 드립니다.
1번 질문.
사용자로부터 입력 받은 값을 n이라고 했을 때, 일반적으로 배열을 동적으로 생성하려면 int형이라고 했을때
int* num=new int(n); 이렇게 하면 생성이되는데
vector는 어떻게 해야될지 전혀 모르겠네요.
제가 원하는 것은 vector<pair<int,int> > 를 n개 만큼 생성하는 건데
vector<pair<int,int> >* num=new vector<pair<int, int> >(n); 이런식으로하면 컴파일 문제는 없는데
런타임에서 값을 넣을 때 에러가 나더군요... vector도 배열처럼 동적으로 편하게 생성할 수 있는 줄 알았는데 아닌가봐요..
해결책을 알려주시면 정말 감사하겠습니다.
2번 질문.
struct내에서 vector를 쓰고 싶은데
struct A{
vector<int> b;
};
이런식으로 구조체 정의 후
A* a=(A*)malloc(sizeof(A)*n); 으로 n개의 A구조체를 만들고,
A[i]에 있는 vector에 값을 넣을 때 또 런타임 에러가 생기네요....
1번도 그렇고 2번도 그렇고, vector가 저의 발목을 잡는데 어떻게 해야될지 도저히 모르겠습니다.
2차원 벡터를 동적으로 생성하기 위해서는 다음과 같이 해야합니다.
vector < vector <type> > dat;
dat.resize(cnt);
감사합니다. 많은 도움이 되었습니다.
vector가 동적 배열이라서 굳이 pointer를 사용할 필요는 없다고 생각합니다.
댓글을 작성하려면 로그인해야 합니다.
chogdak 8년 전
하다가 도저히 답이 안나와서 질문 드립니다.
1번 질문.
사용자로부터 입력 받은 값을 n이라고 했을 때, 일반적으로 배열을 동적으로 생성하려면 int형이라고 했을때
int* num=new int(n); 이렇게 하면 생성이되는데
vector는 어떻게 해야될지 전혀 모르겠네요.
제가 원하는 것은 vector<pair<int,int> > 를 n개 만큼 생성하는 건데
vector<pair<int,int> >* num=new vector<pair<int, int> >(n); 이런식으로하면 컴파일 문제는 없는데
런타임에서 값을 넣을 때 에러가 나더군요... vector도 배열처럼 동적으로 편하게 생성할 수 있는 줄 알았는데 아닌가봐요..
해결책을 알려주시면 정말 감사하겠습니다.
2번 질문.
struct내에서 vector를 쓰고 싶은데
struct A{
vector<int> b;
};
이런식으로 구조체 정의 후
A* a=(A*)malloc(sizeof(A)*n); 으로 n개의 A구조체를 만들고,
A[i]에 있는 vector에 값을 넣을 때 또 런타임 에러가 생기네요....
1번도 그렇고 2번도 그렇고, vector가 저의 발목을 잡는데 어떻게 해야될지 도저히 모르겠습니다.