Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.04.2012, 20:55   #1
Granus
С++
Форумчанин
 
Аватар для Granus
 
Регистрация: 22.09.2008
Сообщений: 791
По умолчанию глобальный operator new

Правильно ли я понимаю, что если перегрузить глобальный operator new можно сделать собственный сборщик мусора?
И затронет ли эта перегрузка стандартную библиотеку?
Форматируйте код, будьте людьми.
Granus вне форума Ответить с цитированием
Старый 28.04.2012, 21:55   #2
EUGY
Форумчанин
 
Аватар для EUGY
 
Регистрация: 11.07.2010
Сообщений: 914
По умолчанию

Это ж главные грабли, какой указатель считать мусором.
Код:
void* operator new(size_t sz)
{
	return malloc(sz);
}

int main()
{
int* i = new int;
}
delete еше надо перегрузить...

Последний раз редактировалось EUGY; 28.04.2012 в 21:57.
EUGY вне форума Ответить с цитированием
Старый 28.04.2012, 22:13   #3
Granus
С++
Форумчанин
 
Аватар для Granus
 
Регистрация: 22.09.2008
Сообщений: 791
По умолчанию

Цитата:
Это ж главные грабли, какой указатель считать мусором.
Тоже верно. А вообще, что интересного можно сделать, написав свой new?
Форматируйте код, будьте людьми.
Granus вне форума Ответить с цитированием
Старый 28.04.2012, 22:24   #4
EUGY
Форумчанин
 
Аватар для EUGY
 
Регистрация: 11.07.2010
Сообщений: 914
По умолчанию

Ну, я делал сборку мусора для своей иерархии объектов.
Сложность при циклических ссылках и объектах в коллекциях.
Реализовывал через обход периметра и расположение в собственной heap memory.
Врагу не пожелаю реализовывать
А так по мелочи, перегрузка new удобна, если хочется дописать перед возвращенным указателем собственную инфу. То есть выделяется через malloc чуть больше памяти, и в самом начале пишется некая шапка. Ну хоть длина строки, например.
EUGY вне форума Ответить с цитированием
Старый 28.04.2012, 22:26   #5
Granus
С++
Форумчанин
 
Аватар для Granus
 
Регистрация: 22.09.2008
Сообщений: 791
По умолчанию

EUGY, спасибо)
Форматируйте код, будьте людьми.
Granus вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Глобальный массив mavlon_m Общие вопросы Delphi 3 09.11.2010 11:53
ошибка: no match for ‘operator<<’ in ‘std::operator<< [with _Traits = std::char_traits<char> Critter Общие вопросы C/C++ 5 08.08.2010 23:38
Глобальный хук Умед Общие вопросы Delphi 1 02.08.2010 11:04
Глобальный HOOK vma Общие вопросы C/C++ 0 25.03.2010 11:49
Глобальный хук на мышь не глобальный О_о JTG Общие вопросы Delphi 3 05.06.2008 17:41