В Linux malloc не обязательно возвращает нулевой указатель, если у вас нехватка памяти. Вы можете вернуть указатель, а затем убийца OOM начнет есть процессы, если вы действительно потеряли память. То же самое верно для оператора C++ new или вы получите исключение bad_alloc?Оператор new и bad_alloc on linux
3
A
ответ
4
То же самое верно и для оператора нового, увы:.^(
7
Это функция ядра, а не функция языка - и вы можете контролировать его с vm.overcommit_memory
и vm.overcommit_ratio
параметров управляет
Они видны в файловой системе proc на /proc/sys/vm/overcommit_memory
и /proc/sys/vm/overcommit_ratio
.
Не так много времени выполнения C++, когда ОС лежит. – MSalters