за информацию о том, сколько памяти доступно. Это действительно зависит от среды, которую вы используете: в какой ОС вы запускаете код, это 16 или 32 или 64-битная архитектура памяти?
Например, , если вы выполняете код на Windows 10, вы можете использовать средство GlobalMemoryStatusEx () GlobalMemoryStatusEx .
, например, malloc
, которые могут выделять память для вас, они также могут давать сбой. в этом случае они вернут nullpoiter
без выделения даже байта, в противном случае он выделит запрошенную память. Он выделит всю запрошенную память или произойдет сбой без выделения вообще.
, но также существует ограничение на память, вы можете использовать.
например Windows 7 64-разрядная версия только позволит вам получить доступ к 8 ГБ для вашей программы (что, скорее всего, достаточно), даже если у вас намного больше свободной памяти.
также отметьте это getrlimit, setrlimit - контролируйте максимальное потребление ресурсов