좀알려주라 고수형들
내가 좆초보라서.ㅋㅋㅋ
동적할당이용해서 좀 알려줘 ㅋㅋ
질문의 이해를 쉽게 하기 위해, 단순화 해서 질문드리겠습니다.
목적
- 사용자가 마우스를 좌클릭할때마다, 그 좌표(x축값)를 저장하여 배열에 저장하여야 합니다.
- 좌클릭회수는 사용자마다 틀리지만 최소 5000에서 최대 500000회 까지 분포합니다.
구상
- mfc 함수 onlbuttondown()에서 구현
onlbuttondown()
{
1단계 int a= px ////////////////클릭한 지점의 좌표의 x축값을 a에 저장
2단계 int b[] //////////////클릭한 모든 좌표를 저장할 배열(동적배열)
3단계 배열b에 저장되어 있는 좌표의 갯수를 int number에 저장
4단계 별도의 배열c를 new연산자를 이용하여 동적할당 하되, number의 값만큼의 요소수를 같도록 생성
5단계 배열 b에 있는 모든 요소를 배열 c에 복사함
6단계 배열 b를 delete연산자를 이용해 메모리 해제
7단계 new연산자를 이용해 배열 b를 다시 생성하되 그 크기를 number+1 로 함
8단계 배열c에 저장되있는 모든 값을 새로 생성된 배열 b에 복사한후에, 나머지 1개의 남는자리에 1단계에서 입력받은
a값을 집어넣음
9단계 delete연산자를 이용해 배열 c의 메모리를 해제
}
위와 같이 번거롭고 지저분 하게 하는 방법이외에 방법이 없나요?
문제의 핵심은
동적배열을 하더라도 결국 new연산자를 이용해 그 크기를 지정해줘야 한다는점과
마우스를 클릭할때마다 배열의 크기를 늘려야 한다는 점의 상충 같습니다.
구체적인 답변은 아니더라도, 대략적인 tip이나 참고할 만한 함수나 개념의 키워드라도 알려주시면 감사드리겠습니다.
ㄴ 오 벡터자료구조란거 첨보는 말이네..감사