#c #new-operator #dynamic-allocation
#c #new-operator #динамическое выделение
Вопрос:
У меня есть следующее статическое объявление памяти:
void* array[5000];
Как я могу выделить ту же память, используя operator new
в C ?
Комментарии:
1. Что именно вы хотите выделить?
2. @kalyan: Я не понимаю, почему этот вопрос не подходит для SO. Многие новички немного теряются, когда решение влечет за собой двойной указатель, и я не уверен, что Google будет настолько полезен новичку.
3. Как это не достойный вопрос SO? Это как превратить статическое выделение в динамическое (для многих не очевидно, что вам нужно добавить дополнительное
*
в объявление в дополнение к тому, какnew
его нужно использовать с указателем).4. Как это локализовано? Здесь есть множество вопросов, связанных с C / C .
5. @модераторы: пожалуйста, воздержитесь от таких грубых изменений ядерной истории, о которых свидетельствуют оставшиеся обломки. было сделано здесь.
Ответ №1:
void **array = new void*[5000];
Комментарии:
1. Да, пустот было достаточно, чтобы сбить меня с толку, потому что мой первоначальный ответ (до вашего редактирования) действительно скомпилирован! Затем я понял, что это неправильно, и удалил его.
2. Не говоря уже о том, что я отредактировал его неправильно.. Я удалил звездочку вместо добавления. 🙂
Ответ №2:
вверху есть массив указателей, здесь это просто массив целых чисел.
int array = new int [5000];
Комментарии:
1. мне нужен массив void *, а не массив int.
2. Мало того, это не синтаксис C .