С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 07.04.2021
Сообщений: 88
1

Размещение памяти , освобождение памяти

29.04.2021, 22:34. Показов 499. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Почему размещение памяти выполняется в два этапа?
Почему освобождение памяти происходит в два этапа?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
void ZLab09::tablica2D(int w, int k)
 {
 cout << "--->Tablica 2D" << endl;
 
 wskInt2D = new int*[w];
 
 for(int i=0; i<w; i++) wskInt2D[i] = new int(k);
 
 for(int i=0; i<w; i++)
 for(int j=0; j<k; j++)
 wskInt2D[i][j] = i + j;
 
 for(int i=0; i<w; i++)
 {
 for(int j=0; j<k; j++)
 cout << wskInt2D[i][j] << " ";
 cout << endl;
}
 
 for(int i=0; i<k; i++) delete [] wskInt2D[i];
 delete [] wskInt2D;
 
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.04.2021, 22:34
Ответы с готовыми решениями:

Резервирование памяти/освобождение памяти для трехмерного массива
Необходимо создать трехмерный массив (A), в котором элементы вдоль направления Z выли бы выровнены...

Освобождение памяти
#include&lt;iostream&gt; #include&lt;cstring&gt; using namespace std; struct stringy{ char * str; int...

с++ Освобождение памяти
Здравствуйте, объявляю в классе: А ** а; Далее выделяю память в функции: а=0; a = new A*;...

Освобождение памяти
Товарищи,недавно баловался в Microsoft VS,готовился к экзаменам,писал небольшие програмки с...

3
"C with Classes"
2022 / 1404 / 523
Регистрация: 16.08.2014
Сообщений: 5,884
Записей в блоге: 1
29.04.2021, 22:41 2
Цитата Сообщение от katia030204 Посмотреть сообщение
Почему размещение памяти выполняется в два этапа?
w + 1 раз.

первый резервирует память для массива указателей, второй и последующие для данных (w раз) .
1
фрилансер
5846 / 5375 / 1103
Регистрация: 11.10.2019
Сообщений: 14,365
29.04.2021, 22:48 3
Цитата Сообщение от katia030204 Посмотреть сообщение
Почему размещение памяти выполняется в два этапа?
можно и в один этап сделать - выделить память сразу на w*k элементов
0
Вездепух
Эксперт CЭксперт С++
12792 / 6669 / 1795
Регистрация: 18.10.2014
Сообщений: 16,870
30.04.2021, 06:05 4
Цитата Сообщение от katia030204 Посмотреть сообщение
Почему размещение памяти выполняется в два этапа?
Почему освобождение памяти происходит в два этапа?
Потому что ваша структура данных состоит из двух независимых уровней.
0
30.04.2021, 06:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.04.2021, 06:05
Помогаю со студенческими работами здесь

Освобождение памяти
Собственно есть простенький класс class Human { public: Human ( ); void...

Освобождение памяти
Есть класс, в котором я выделяю память с помощью new. В деструкторе класса я с помощью delete...

Освобождение памяти
Есть многопоточное приложение. Создается глобальная структура: Пример из msdn. typedef struct...

Освобождение памяти
#include &lt;iostream&gt; #include &lt;cmath&gt; using namespace std; int main() { int i, k; float SO, S,...

Освобождение памяти
Есть класс дроби с перегруженным оператором приведения к char * Fraction::operator char*() { ...

Освобождение памяти
Добрый день. Пишу в рубрику &quot;Вопросы начинающих по С/С++&quot; посему вопрос глупый :) И все же, есть...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru