2010-12-12 10 views
1

나는 C++ 참조를 찾고 있었고 동적 메모리 관리를 찾았으며 은 메모리를 재 할당하는 기능을보고 있었고이 기능을 사용하여 배열을 더 크게 만들 수 있는지 궁금합니다. 그 의미하지만 난 정말이 내 질문에 그래서 여기 CPLUSPLUS 참조 의 예에서 나타납니다이 줄배열에 대한 메모리 재 할당 C++

more_numbers = (int*) realloc (numbers, count * sizeof(int)); 

을 이해하지 못하는 것을 간단히 말해서

realloc() 더 큰 배열을 만들기 위해 사용할 수 있습니까? 고마워요 :)

+0

크기를 조정할 수있는 컨테이너가 필요한 경우 벡터 등을 사용하십시오. –

답변

7

malloc(), calloc() 또는 realloc()을 통해 메모리가 할당 된 경우에만. 그렇지 않으면 문제를 요구하고 있습니다.

+6

"문제를 묻는 중"은 "정의되지 않은 동작"이라고 말하면서 "아무거나 일어날 수 있습니다. 프로그램이 충돌 할 수 있습니다. 하드 드라이브의 내용을 삭제하거나 여자 친구를 만날 수 있습니다. 임신 " – SingleNegationElimination

+0

@ TokenMacGuy 우승. –

0

"이 함수는 메모리 블록을 새 위치로 이동할 수 있습니다.이 경우 새 위치가 반환됩니다." 블록에 데이터를 보존하더라도이 블록 내부의 오브젝트에 대한 포인터는 유효하지 않게 될 수 있습니다.