Quiz on C++ Memory Management

This quiz on C++ Memory Management covers a comprehensive range of topics, including stack and heap memory, to advanced techniques such as dynamic memory allocation and smart pointers. Each question contains a detailed explanation to make you understand the correct answers and also grasp the underlying concepts.

Last Updated :
Discuss
Comments

Question 1

What is dynamic memory allocation in C++?

  • Management of memory automatically

  • Allocation of memory at compile time

  • Allocation of memory during runtime

  • Increasing allocated memory

Question 2

What is a memory leak in C++?

  • When the program uses too much memory

  • When memory is not allocated properly

  • When the program tries to access restricted memory

  • When dynamically allocated memory is not freed

Question 3

Which of the following is not a valid way to allocate memory dynamically for an integer in C++?

  • int* ptr = new int;

  • int* ptr = new;

  • int* ptr = new int(10);

  • int* ptr = new int[1];

Question 4

What is a dangling pointer in C++ ?

  • A pointer that has not been initialized

  • A pointer that points to a static variable

  • A pointer that points to an invalid memory location

  • A pointer that points to multiple locations

Question 5

What is the output of the following C++ code?

C++
#include <iostream> using namespace std;  int main() {      int* ptr = new int;     *ptr = 10;     delete ptr;     cout << *ptr; } 
  • 0

  • Runtime error

  • 10

  • Garbage value

Question 6

What of the following is the correct way to use 'new' and 'delete' for dynamic memory allocation of an object in C++ ?

  • MyClass* obj = new MyClass(); delete obj;

  • MyClass obj = new MyClass(); delete obj;

  • MyClass* obj = new MyClass(); delete[] obj;

  • MyClass* obj = new MyClass[1]; delete obj;

Question 7

How do you check if memory allocation by 'new' was successful in C++?

  • Checking if the pointer is null

  • Using the isAllocated() function

  • Catching an exception

  • Both A and C

Question 8

What is the initial value of dynamically allocated memory in C++?

  • 0

  • 1

  • Null

  • Indeterminate

Question 9

What happens when 'new' fails to allocate memory in C++?

  • Program continues execution

  • It returns a null pointer

  • It throws a bad_alloc exception

  • Program terminates immediately

Question 10

What is RAII in the context of C++ memory management?

  • Resource Allocation Is Initialization

  • Random Access of Independent Indexes

  • Release After Immediate Initialization

  • Resource Allocation In Iteration

There are 20 questions to complete.

Take a part in the ongoing discussion