![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
Riddik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 598 Регистрация: 2.12.2006 Репутация: нет Всего: нет |
Как перегрузить new с использованием обычного new, а не malloc в этом случае:
Это сообщение отредактировал(а) Riddik - 11.4.2009, 01:54 |
|||
|
||||
Kipter |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 114 Регистрация: 2.5.2006 Репутация: нет Всего: нет |
попробуйте
|
|||
|
||||
J0ker |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 986 Регистрация: 17.9.2008 Репутация: 9 Всего: 14 |
это не правильная реализация
bad_alloc выбрасывает new_handler который должен вызываться после неудачного аллокирования через стандартные функции - и все это должно идти в цикле пока либо new/malloc не выделит память, либо new_handler не сдохнет или бросит bad_alloc |
|||
|
||||
zim22 |
|
|||
![]() depict1 ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2682 Регистрация: 15.1.2009 Где: Украина Репутация: 29 Всего: 69 |
||||
|
||||
Riddik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 598 Регистрация: 2.12.2006 Репутация: нет Всего: нет |
Спасибо. Как раз эта книга мне по почте пришла, надо забрать
![]() |
|||
|
||||
zim22 |
|
|||
![]() depict1 ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2682 Регистрация: 15.1.2009 Где: Украина Репутация: 29 Всего: 69 |
Riddik, вы второе издание заказывали? зря. уже третье давно есть.
|
|||
|
||||
Cтpaнник |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 53 Регистрация: 12.10.2008 Где: Россия, Санкт-Пет ербург Репутация: нет Всего: нет |
Это неправильный код. По Стандарту (и последние компиляторы ему следуют - GCC 4.3-4.4, MSVC++ 2005-2008, BCC 5.5) если глобальный оператор new не смог выделить запрошенный объем памяти, то он сам выбрасывает исключение std::bad_alloc. Таким образом, до {bad_alloc ba; throw ba;} поток выполнения не дойдет в любом случае. Если хочется написать подобный код, то нужно явно использовать new(nothrow). |
||||
|
|||||
Riddik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 598 Регистрация: 2.12.2006 Репутация: нет Всего: нет |
zim22, , всё в порядке, вот эту книгу я заказал. Заберу через несколько дней
![]() Это сообщение отредактировал(а) Riddik - 11.4.2009, 12:23 |
|||
|
||||
zim22 |
|
|||
![]() depict1 ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2682 Регистрация: 15.1.2009 Где: Украина Репутация: 29 Всего: 69 |
![]() Riddik, сколько она вам обошлась? (может я переплатил...) Это сообщение отредактировал(а) zim22 - 11.4.2009, 12:21 |
|||
|
||||
Riddik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 598 Регистрация: 2.12.2006 Репутация: нет Всего: нет |
zim22, я несколько книг вместе заказал. Если считать отдельно, то рублей 250-280.
|
|||
|
||||
zim22 |
|
|||
![]() depict1 ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2682 Регистрация: 15.1.2009 Где: Украина Репутация: 29 Всего: 69 |
Riddik, мда... я за 500 брал на местном радио-базаре
![]() |
|||
|
||||
Riddik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 598 Регистрация: 2.12.2006 Репутация: нет Всего: нет |
zim22, думаю, она всё равно этого стоит
![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |