Показать сообщение отдельно

  #10  
Старый 30.03.2010, 14:12
rudvil
Участник форума
Регистрация: 25.08.2008
Сообщений: 187
С нами: 9320830

Репутация: 86
По умолчанию

[C++]
Нужно как-то ограничить используемую программой память, как в php.
Выставил в настройках к примеру "20 мб" и выше этой планки программа потреблять памяти не будет.
Насколько я понимаю, мне нужно перегрузить используемый мною оператор "new", и при каждой попытке выделении памяти, увеличивать счетчик.
Ессно на столько, на сколько я хочу выделить память, например "new int[25]" я буду проверять как
Код:
if (currentMemory + sizeof(int) * 25 <= maxAllowedMemory) {
    // тут пошло выделение...
}
else {
    throw("что-нибудь");
}
я знаю что код будет не таким, это просто для примера...
И проверять не превысил ли он максимально допустимое значение, опять же скажем 20 мб...
Правильно я рассуждаю? илиже есть более правильные пути для решения этой задачи?
 
Ответить с цитированием