There is a header new in c++ which have a function set_new_handler()
it run when " new " doesn't allocate memory
you can check it with the help of following program
#include<iostream>
#include<new>
#include<cstdlib>
using namespace std;
int count=0;
void out_of_memory()
{
cerr<<"memory exhausted after"<<count<<"allocations!"<<endl;
exit(1);
}
int main()
{
set_new_handler(out_of_memory);
while(1)
{
count++;
new int[10000];
}
return 0;
}
output:---
it run when " new " doesn't allocate memory
you can check it with the help of following program
#include<iostream>
#include<new>
#include<cstdlib>
using namespace std;
int count=0;
void out_of_memory()
{
cerr<<"memory exhausted after"<<count<<"allocations!"<<endl;
exit(1);
}
int main()
{
set_new_handler(out_of_memory);
while(1)
{
count++;
new int[10000];
}
return 0;
}
output:---

No comments:
Post a Comment