Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
32 / 30 / 4
Регистрация: 01.02.2014
Сообщений: 878

Динамическое выделение памяти внутри функции (что вернуть из функции, если не удалось выделить память?)

12.02.2016, 12:47. Показов 1535. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
такое дело, есть функция, которая выполняет некоторую операцию, функция при успешном выполнении должна вернуть 0, при ниудачном код ошибки(GetLastError) но в функции есть еще malloc, допустим памят не выделилась, мне нужно вернуть что-то отличное от 0, незнаю что, что посоветуете?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.02.2016, 12:47
Ответы с готовыми решениями:

Динамическое выделение памяти в функции
Здравствуйте, столкнулся с такой проблемой: Нужно в функции считать из файла количество строк и столбцов, затем создать динамический...

Указатели и функции. Динамическое выделение памяти
1) Напишите программу, которая позволяет вводить динамический одно-мерный целочисленный массив и посредством вызова функции опреде-лять...

Динамическое выделение памяти в отдельной функции
Здрасьте! Мне необходимо динамически выделить память в отдельной функции, заполнить ее, и использовать в main(); (или еще где то), но Я...

3
Модератор
Эксперт CЭксперт С++
 Аватар для sourcerer
5287 / 2375 / 342
Регистрация: 20.02.2013
Сообщений: 5,773
Записей в блоге: 20
12.02.2016, 13:23
Цитата Сообщение от mh-coder Посмотреть сообщение
что посоветуете?
Выделяйте память с помощью new, а если память не выделилась, выскочит исключение. А вообще, зачем Вам динамическое выделение памяти в функции? Это не есть хорошо. Лучше заверните Вашу функцию в класс, и пусть там выделением/освобождением памяти конструктор и деструктор занимаются.

Добавлено через 2 минуты
mh-coder, а вообще, лучше бы Вы, конечно, код показали. Иначе, это беспредметный разговор.
0
260 / 87 / 30
Регистрация: 29.10.2015
Сообщений: 196
12.02.2016, 13:40
Цитата Сообщение от mh-coder Посмотреть сообщение
функция при успешном выполнении должна вернуть 0, при ниудачном код ошибки(GetLastError) но в функции есть еще malloc, допустим памят не выделилась
Если используете такой подход без механизма обработки исключений, о котором уже упомянул коллега - то рассматривайте ситуацию с невыделением памяти тоже как ошибку. Соответственно, придумайте для этой ситуации свой код ошибки.

Например, вот тут перечислены диапазоны для разных значений getlasterror:
https://msdn.microsoft.com/en-... 85%29.aspx

Добавьте свой диапазон значений ошибок, не перекликающийся с системными.

Только тщательно документируйте и комментируйте такие фишки, иначе следующий программист, после вас разбирающийся в вашем коде, застрелится
1
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9005 / 4704 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
12.02.2016, 13:52
mh-coder, возвращайте ноль или nullptr в зависимости от компилятора.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.02.2016, 13:52
Помогаю со студенческими работами здесь

Динамическое выделение памяти для структуры в функции
Объясните не могу понять. На С++ пишу совсем недавно. Суть вопроса, при первом запуске программы происходит проверка на существование...

Выделение динамической памяти внутри функции
приветствую. Изучаю С, для лушчего усвоения изобретаю велосипед - попылатся реализовать собственный вариант strcpy с использованием...

Нужно немного переделать программу: использовать функции и динамическое выделение памяти
Помогите переделать программу в соответствии с условиями: а) для хранения массивов используйте динамически распределяемую память; б)...

Указатели, функции и динамическое выделение памяти: вывести строки с неповторяющимися данными
Задана матрица A(n,n) ,n<=15 . Написать программу, которая находит и выводит на экран номера тех строк, элементы которых не...

Выделение динамической памяти для массива внутри функции
Корректно ли организована работа с памятью в приведенной ниже программе? bool foo(int *array, int n){ array =new int; ...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
JWT аутентификация в Java
Javaican 21.04.2025
JWT (JSON Web Token) представляет собой открытый стандарт (RFC 7519), который определяет компактный и самодостаточный способ передачи информации между сторонами в виде JSON-объекта. Эта информация. . .
Спринты Agile: Планирование, выполнение, ревью и ретроспектива
EggHead 21.04.2025
Спринты — сердцевина Agile-методологии, позволяющая командам создавать работающий продукт итерационно, с постоянной проверкой гипотез и адаптацией к изменениям. В основе концепции спринтов лежит. . .
Очередные открытия мега простых чисел, сделанные добровольцами с помощью домашних компьютеров
Programma_Boinc 21.04.2025
Очередные открытия мега простых чисел, сделанные добровольцами с помощью домашних компьютеров. 3 марта 2025 года, в результате обобщенного поиска простых чисел Ферма в PrimeGrid был найден. . .
Система статов в Unity
GameUnited 20.04.2025
Статы — фундаментальный элемент игрового дизайна, который определяет характеристики персонажей, предметов и других объектов в игровом мире. Будь то показатель силы в RPG, скорость передвижения в. . .
Статические свойства и методы в TypeScript
run.dev 20.04.2025
TypeScript прочно занял своё место в системе современной веб-разработки. Этот строго типизированный язык программирования не просто расширяет возможности JavaScript — он делает разработку более. . .
Batch Transform и Batch Gizmo Drawing API в Unity
GameUnited 20.04.2025
В мире разработки игр и приложений на Unity производительность всегда была критическим фактором успеха. Создатели игр постоянно балансируют между визуальной привлекательностью и плавностью работы. . .
Звук в Unity: Рандомизация с Audio Random Container
GameUnited 20.04.2025
В современных играх звуковое оформление часто становится элементом, который либо полностью погружает игрока в виртуальный мир, либо разрушает атмосферу за считанные минуты. Представьте: вы исследуете. . .
Максимальная производительность C#: Советы, тестирование и заключение
stackOverflow 20.04.2025
Погружение в мир микрооптимизаций C# открывает перед разработчиком целый арсенал мощных техник. Но как определить, где и когда их применять? Ответ начинается с точных измерений и профилирования. . . .
Максимальная производительность C#: Предсказание ветвлений
stackOverflow 20.04.2025
Третий ключевой аспект низкоуровневой оптимизации — предсказание ветвлений. Эта тема менее известна среди разработчиков, но её влияние на производительность может быть колоссальным. Чтобы понять. . .
Максимальная производительность C#: Векторизация (SIMD)
stackOverflow 20.04.2025
Помимо работы с кэшем, другим ключевым аспектом низкоуровневой оптимизации является векторизация вычислений. SIMD (Single Instruction, Multiple Data) позволяет обрабатывать несколько элементов данных. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер