перераспределение памяти для массива с ++ - PullRequest
1 голос
/ 12 декабря 2010

Я искал справку C ++ , нашел динамическое управление памятью, искал функцию, которая перераспределяет память, и мне было интересно, можно ли использовать эту функцию для увеличения массива, я думаю, это то, чтоони имеют в виду, но я действительно не понимаю эту строку

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

это появляется в примере со ссылкой на cplusplus, так что вот мой вопрос в двух словах:

можно realloc() использовать длямассив больше?спасибо:)

Ответы [ 2 ]

8 голосов
/ 12 декабря 2010

Только если память для массива была выделена с помощью malloc(), calloc() или realloc() ранее.Иначе ты напрашиваешься на неприятности.

0 голосов
/ 12 декабря 2010

«Функция может переместить блок памяти в новое место, и в этом случае новое место будет возвращено».Даже если он сохраняет данные в вашем блоке, любые указатели на объекты внутри этого блока могут стать недействительными.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...