|
5 / 5 / 8
Регистрация: 06.04.2013
Сообщений: 103
|
|
Если выделение памяти для динамического массива задать void-функцией, можно ли будет оперировать с ним в main?10.08.2014, 18:00. Показов 3752. Ответов 40
Метки нет (Все метки)
Если выделение памяти для дин.массива задать void-функцией, можно ли будет оперировать с ним в main или придётся отдельно выделять память в main?
0
|
|
| 10.08.2014, 18:00 | |
|
Ответы с готовыми решениями:
40
Выделение памяти для динамического массива
Использование типа void в качестве возвращаемого значения функцией main |
|
63 / 64 / 11
Регистрация: 27.02.2013
Сообщений: 1,116
|
||||||
| 11.08.2014, 08:54 | ||||||
|
вставлю свои 5 копеек
![]()
1
|
||||||
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
||
| 11.08.2014, 10:30 | ||
|
1. В общем случае тип T нельзя копировать через memcpy, т.к. происходит поверхностное (shallow) копирование, т.е. если например T содержит указатель на данные, скопируется только указатель. 2. Нет проверки на ptr == NULL, т.е. в 5 строке может быть UB. 3. Параметр ptr больше связан с old_size, т.о. его хорошо бы перенести ближе к конце, и так же как для old_size задать умолчание. 4. Нет проверки, что old_size <= new_size. Т.е. можем получить выход за границы. 5. Вместо allocate больше похоже на reallocate.
1
|
||
|
63 / 64 / 11
Регистрация: 27.02.2013
Сообщений: 1,116
|
|||||||||||
| 11.08.2014, 10:44 | |||||||||||
0
|
|||||||||||
|
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
|
||||||||||||
| 11.08.2014, 10:50 | ||||||||||||
0
|
||||||||||||
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
|||||
| 11.08.2014, 11:05 | |||||
|
1
|
|||||
|
4226 / 1799 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
||
| 11.08.2014, 11:13 | ||
|
sterkh, а какая вообще разница, кто выделил память?
Добавлено через 3 минуты Добавлено через 1 минуту sterkh, кстати, про фунции mallic, realloc, calloc слышал?
0
|
||
|
63 / 64 / 11
Регистрация: 27.02.2013
Сообщений: 1,116
|
|||||||||||
| 11.08.2014, 11:50 | |||||||||||
а чем тогда можно копировать такие вещи?
0
|
|||||||||||
|
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
|
||
| 11.08.2014, 11:57 | ||
|
Перемещать - http://www.cplusplus.com/reference/algorithm/move/ Что не отменяет необходимость наличия соответствующих конструкторов/операторов.
0
|
||
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
|||||||
| 11.08.2014, 11:59 | |||||||
0
|
|||||||
|
4226 / 1799 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|||
| 11.08.2014, 12:03 | |||
|
Добавлено через 3 минуты
0
|
|||
|
710 / 284 / 16
Регистрация: 31.03.2013
Сообщений: 1,340
|
|||
| 11.08.2014, 12:29 | |||
![]() Не по теме: Случайно поставил 'спасибо', как-нибудь можно убрать? Добавлено через 5 минут
0
|
|||
| 11.08.2014, 12:39 | |
|
0
|
|
|
4226 / 1799 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
||
| 11.08.2014, 12:47 | ||
|
0
|
||
|
Модератор
13799 / 10990 / 6493
Регистрация: 18.12.2011
Сообщений: 29,291
|
||
| 11.08.2014, 12:54 | ||
|
Если prt недействительный (память не выделилась), то разыменование (получение значения по адресу) вызовет глюк. Т.е. проверять действительность ptr через разыменование нельзя. Можно создать метод проверки действительности ptr (если ptr не действителен, то он будет возвращать false). В результате разыменование не понадобится. Только мне не понятно, как этот метод должен выглядеть.
0
|
||
|
4226 / 1799 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|||
| 11.08.2014, 13:27 | |||
|
Добавлено через 1 минуту Добавлено через 1 минуту Кроме того, если по указателю кратности пять копировать не сами данные, а тройной указатель, то адресация будет двойной косвенности, а используемый указатель свою кратность сохраняет.
0
|
|||
|
Модератор
13799 / 10990 / 6493
Регистрация: 18.12.2011
Сообщений: 29,291
|
||
| 11.08.2014, 13:29 | ||
|
А если в prt сидит не нуль, а мусор?
0
|
||
|
4226 / 1799 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|||||||
| 11.08.2014, 13:32 | |||||||
0
|
|||||||
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
|||
| 11.08.2014, 13:58 | |||
|
Из стандарта, например в 4.4/4:
2
|
|||
|
4226 / 1799 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
| 17.08.2014, 07:50 | |
|
0
|
|
| 17.08.2014, 07:50 | |
|
Как задать размеры массива пользователем, не используя динамическое выделение памяти Прошу объяснить, почему перед функцией main, которая ничего не возращает, мы должны писать int, а не void? что плохого если я делаю ф-ю main типа void Как в отдельной функции выделить память для динамического массива, объявленного в main Вызов функции динамического выделение памяти Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Генератор паролей (вариант №2)
Maks 30.10.2026
Обновленная версия ранее созданной обработки.
Добавлены следующие реквизиты типа Булево:
- Буквы;
- Цифры;
- Символы.
Изменена логика команды "Сгенерировать" и процедуры "ПриОткрытии":. . .
|
Генератор паролей (вариант №1)
Maks 29.10.2026
Реализация из решения ниже выполнена исключительно по моей инициативе, дабы облегчить себе работу в создании паролей для администрируемых мною сервисов и пользователей.
Самым главным критерием для. . .
|
Установка ChatGPT (Codex) на Windows без использования Microsoft Store
Fabien159 28.10.2026
Здравствуйте всем читающим! Опишу процесс установки ChatGPT (Codex) на Windows, если по каким-то причинам у вас не получается устанавить его через Microsoft Store.
И так:
1. Скачиваем с. . .
|
Программное добавление префикса в нумерацию документов
Maks 27.10.2026
Реализация из решения ниже выполнена в самописной конфигурации на БСП (помощь начинающему коллеге).
Задача:
Программно добавить префикс в нумерацию документов.
Решение:
В модуле объекта. . .
|
|
После закрытия оутлука продолжает висеть процесс в диспетчере задач
Maks 27.10.2026
С недавнего времени в продакшене возникла проблема: при закрытии оутлука в диспетчере задач продолжал висеть процесс outlook. exe. Проблема возникла после установки MS Office 2021 LTSC на машинах, под. . .
|
Baragoz - DPS/HPS бот для WoW 3.3.5a, многоязычный
AmbA 26.10.2026
Хотите ещё ботов? У меня есть один! А я пока отдохну от него.
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=12062&stc=1&d=1793007952
Инструкция внутри.
https:/ / youtu. be/ VpfFZSUDGnQ. . .
|
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности.
Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
|
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version
Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
|