Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Нужен совет по выделению памяти - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Анти спам ,блокировака чата http://www.cyberforum.ru/cpp-beginners/thread637292.html
Не могу придумать как написать код С++ что бы когда человек в чат пишет очень быстро больше 5 сообщений ,то есть флудит срабатывал вот такой код player->GetSession()->m_muteTime = time(0) + 5; и...
C++ Рабочий стол Как мне прописать в программе путь до рабочего стола? http://www.cyberforum.ru/cpp-beginners/thread637250.html
Глобальные статические переменные C++
Ребят, может мне кто-нибудь объяснить назначение глобальных статических переменных? Литература (в частности Шилдт) говорит о том, что к таким переменным можно обратиться из первого файла через...
Ярлык C++
Можно как нибудь програмно создать ярлык на определенный сайт в определенном месте?
C++ Выражение должно иметь тип класса. Да ну? http://www.cyberforum.ru/cpp-beginners/thread637241.html
перекопал весь форум, ни где не нашел решение моей проблемы. #include <GL/glut.h> #include <Windows.h> #include <iostream> #include <stdio.h> #include <math.h> #include <time.h> #include...
C++ Диспетчер задач и c++ Ребят, здравствуйте. Вопрос следующий: в диспетчере задач, во вкладке процессы есть поле описание у каждого процесса. Вот как установить это поле в своей программе. Сейчас там выводится название... подробнее

Показать сообщение отдельно
Dr.Urban
63 / 58 / 7
Регистрация: 14.12.2011
Сообщений: 193

Нужен совет по выделению памяти - C++

13.08.2012, 22:31. Просмотров 455. Ответов 8
Метки (Все метки)

Здравствуйте. В проекте частенько нужно выделять память только желательно проверять на bad_alloc.

Написал функцию алокатор с проверкой:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
void* SafeMemoryAlloc(void ** ptr, size_t bytes, size_t size)
{
    try
    {
        if ( ptr == NULL )
        {
            throw "Ptr to memory alloc is NULL or bad argument";
        }
        *ptr = malloc(size * bytes);
    }
    catch(const char* exc)
    {
        cout << exc << endl;
    }
    catch(std::bad_alloc)
    {
        cout << "Bad memory allocation in SafeMemoryAlloc";
    }
    return *ptr;
    
}
Какие у Вас будут замечания и не дико ли смотрится вызов функции:

C++
1
this->wndName = (char*)SafeMemoryAlloc( (void**)&this->wndName, sizeof(char) , FNAME_MAX_LEN );
Спасибо за внимание!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru