All Exams Test series for 1 year @ ₹349 only
Question

Which operator is used for dynamic memory allocation in C++?

This question was previously asked in
RRB JE 2025 CBT 2 Mechanical and Allied Engg Question Paper English (2-Jul-2026) (Shift-1)
The correct answer is

new

In C++, memory can be allocated in two ways: automatically on the stack (ordinary local variables, freed when they go out of scope) or manually on the heap / free store at run time. Heap allocation, where the amount or lifetime of memory is decided while the program runs, is called dynamic memory allocation, and the dedicated operator for it is new. This is the correct answer.

Examples of its use:

  • int *p = new int; — allocates storage for a single int on the heap and returns its address.
  • int *arr = new int[10]; — allocates a contiguous block for 10 integers.

A key advantage of new over the C library function is that it is type-aware: it returns a pointer of the correct type (no cast needed) and, for class objects, it invokes the constructor so the object is properly initialised.

The delete operator is the counterpart of new — it releases previously allocated memory (using delete for a single object and delete[] for an array), so it is a deallocation operator, not an allocation one. Both allocate and alloc are not C++ operators at all; the closest C-style function is malloc(), but that returns a raw void*, requires an explicit cast, needs sizeof to compute the byte count, and does not call any constructor. Hence among the given choices only new is the C++ dynamic-allocation operator.

Was this answer helpful?

Important Questions from OOPs concept

  1. Match List I with List II

    List IList II
    (Programming Paradigm)(Characteristic)
    A.ImperativeI.Declarative, clausal representation, theorem proving
    B.Object‐orientedII.Side‐effect free, declarative, expression evaluation
    C.LogicIII. Imperative, abstract data type
    D.FunctionalIV.Command‐based, procedural

    Choose the correct answer from the options given below :

  2. Let A be the base class in C++ and B be the derived class from A with protected inheritance. Which of the following statement is false for class B?

  3. A member function can always access the data in _______, (in C++).

  4. Which of the following is not correct for virtual function in C++?

  5. Which of the following is correct (in C++)?

Need Expert Advice?
Test Series
RRB JE img
Railways
RRB JE (CBT 1 + CBT 2) 2026 Mock Test Series
1210 Tests 7 Tests Free
English, Hindi

Start Your Preparation with Prepp Mobile App

Download the app from Google Play & App Store
Download the app from Google Play & App Store
Prepp Mobile App