What will be the output of the following C++ code?
#include <iostream>
#include <new>
#include <cstdlib>
using namespace std;
const int bsize = 512;
int *pa;
bool allocate = true;
void get_memory()
{
cerr << "free store exhausted" << endl;
delete [] pa;
allocate = false;
}
void eat_memory(int size)
{
int *p = new int[size];
if (allocate)
eat_memory(size);
else
cerr << "free store addr = " << p << endl;
}
int main()
{
set_new_handler(get_memory);
pa = new int[bsize];
cerr << "free store addr = " << pa << endl;
eat_memory(bsize);
return 0;
}
#include <iostream>
#include <new>
#include <cstdlib>
using namespace std;
const int bsize = 512;
int *pa;
bool allocate = true;
void get_memory()
{
cerr << "free store exhausted" << endl;
delete [] pa;
allocate = false;
}
void eat_memory(int size)
{
int *p = new int[size];
if (allocate)
eat_memory(size);
else
cerr << "free store addr = " << p << endl;
}
int main()
{
set_new_handler(get_memory);
pa = new int[bsize];
cerr << "free store addr = " << pa << endl;
eat_memory(bsize);
return 0;
}A. free store addr
B. Error
C. Segmentation fault
D. free store exhausted
Answer: Option C
What does the 'sizeof' operator return in C++?
A. Size of a data type in bits
B. Size of a data type in bytes
C. Size of a variable in bytes
D. Size of a variable in bits
What is the purpose of the 'static' keyword in C++?
A. To declare a variable with dynamic storage duration
B. To declare a constant
C. To declare a variable with external linkage
D. To declare a variable with static storage duration
What is the difference between '++i' and 'i++' in C++?
A. None of the above
B. They both have the same effect
C. '++i' increments the value of 'i' before returning it, while 'i++' increments the value of 'i' after returning it
D. '++i' increments the value of 'i' after returning it, while 'i++' increments the value of 'i' before returning it

Join The Discussion