Здравствуйте. Подскажите, пожалуйста, как можно проверить, что что функции delete,free не заботятся о физической очистке памяти после удаления? Я понимаю это так: нужно выделить память, проверить количество свободной физической памяти, удалить переменные, и снова проверить память.
Вот мой код:
void getPhysicalMemory(){
MEMORYSTATUSEX statex;
statex.dwLength = sizeof (statex);
GlobalMemoryStatusEx (&statex);
cout<<"\nAvailble physical memory:"<<statex.ullAvailPhys<<endl;
}
void test(){
int *a = new int;
int *b = new int(5);
*a = 10;
*b = *a + *b;
cout << "b is " << *b << endl;
getPhysicalMemory();
delete a;
delete b;
getPhysicalMemory();
}
Но при запуске я получаю, что при первом выводе значение все-таки больше, то есть и физическая память также очищается
Правильно ли это?