|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
04.04.2018, 10:21 | #1 |
Пользователь
Регистрация: 05.09.2017
Сообщений: 21
|
Массив указателей
Здравствуйте у меня вопрос на засыпку.
массив указателей на int в моём примере это двумерный массив получается. почему когда при освобождении памяти я освобождаю только начало адреса массива и сразу освобождаются все строки и столбцы? когда в массиве указателей на строки надо освобождать каждую строку по отдельности и только потом освободить адрес массива ? есть ли какая-то разница или может я что то не правильно делаю? потому что я пробовал удалят интовые строки и он ругается сразу т.к одним махом всё удаляет а повторно удалит какую то не известную память он естественно не может т.к её не существует. |
04.04.2018, 10:34 | #2 | |||
Старожил
Регистрация: 15.02.2010
Сообщений: 15,759
|
Цитата:
Цитата:
Цитата:
|
|||
04.04.2018, 18:49 | #3 | |
Пользователь
Регистрация: 05.09.2017
Сообщений: 21
|
Цитата:
Код:
|
|
05.04.2018, 02:08 | #4 |
Форумчанин
Регистрация: 12.04.2017
Сообщений: 889
|
Это вообще бред сивой кобылы..
..вы в игры играете? Слышали про мульти-поточное ускорение и все такое вообще? вот это Код:
Вобще, если есть желание заморачиватся с таким управлением памяти ручным, нужно делать доп. вещи типа Код:
...и постепенно вы доизобретете std::vector (https://habrahabr.ru/company/infopulse/blog/194726/) Последний раз редактировалось alexzk; 05.04.2018 в 02:23. |
05.04.2018, 07:42 | #5 |
Пользователь
Регистрация: 05.09.2017
Сообщений: 21
|
не понимаю в чём причина в моём коде что не так? вы дали пример не объяснив мой. Зачем мне хранить указатель в структуре когда я его просто посылаю по функциям куда мне надо не вижу смысла менять код.
и чем вас не устраивает этот вариант он статический инициализируется всего лишь один раз он всего то нужен для того что бы помнить предыдущий размер. Код:
Последний раз редактировалось FerrariF70; 05.04.2018 в 07:45. |
05.04.2018, 08:03 | #6 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,759
|
А теперь прочитайте про потоки... Вы думаете их просто так упомянули?
|
05.04.2018, 10:34 | #7 | |
Форумчанин
Регистрация: 12.04.2017
Сообщений: 889
|
Цитата:
У вас в кармане тел на 4 ядра, комп на 4-8 ядер и т.д. Все и везде с кучей ядер. А это означает, что вероятно, какието куски ваших программ будут исполнятся параллельно (т.е. одновременно). Т.о. даже учится писать вот такие статики в нынешнем мире не стоит. Просто запоминайте, как делать не нужно. Ваша запись однозначно делает не возможным использование многих ядер. Можно более понятно, а что, если вы захотите этой же функцией создать 2й массив иного размера? В принципе ф. принимая параметр позволяет это делать, но ваш статик делает ее конкретным решением конкретного случая, а не общим "выделятором памяти". Код:
Последний раз редактировалось alexzk; 05.04.2018 в 10:49. |
|
05.04.2018, 11:19 | #8 |
Пользователь
Регистрация: 05.09.2017
Сообщений: 21
|
|
05.04.2018, 11:25 | #9 | |
Форумчанин
Регистрация: 12.04.2017
Сообщений: 889
|
Цитата:
Кстати да, есть утечка при УМЕНЬШЕНИИ размера 1 цикл не закончен. Вобщем итого будет 2 IF, внутри каждого по циклу для создания/удаления int[2] и общий реалок. Последний раз редактировалось alexzk; 05.04.2018 в 11:30. |
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
массив указателей | nwhta | Помощь студентам | 2 | 23.11.2016 15:22 |
Массив указателей. | dmitrykzmn | Общие вопросы C/C++ | 8 | 20.01.2016 19:41 |
Массив указателей | CaXaH | Общие вопросы C/C++ | 11 | 25.09.2012 12:06 |
Указатель на массив указателей на массив char'ов... | SrgGld | Общие вопросы C/C++ | 0 | 19.11.2010 23:35 |
Массив указателей | askar | Общие вопросы C/C++ | 5 | 07.09.2010 23:11 |