Skip to main content

What is new and delete operator in c++

Hello friends, in this post today, we learn about What is new and delete operator in c++. so lets start...

new and delete operator in c++, new and delete operator
new and delete operator 



Memory Management Operators of C++:-

The technique through which a program can obtain space in the RAM during the execution of the program and not during compilation is called dynamic memory allocation.


In this method space for the variables (array, strings, structure etc) is allocated from a free memory region which is known as heap.


 For dynamic memory management, C++ provides two unary operator 'new' and 'delete'.


Dynamic memory allocation is the allocation of memory at run time i.e., when program executes then required memory is asked from the user and memory is allocated with the help of operator new.

Syntax of new :

data_type *ptr = new data_type;


Here ptr is a variable of data_type. Memory is allocated by finding the size of data_type automatically by the compiler and address of the allocated memory is returned which is stored in ptr.


Some examples:-

int *ptr = new int;

char *ch = new char;

float *fp = new float;


we can assign values to the variable:-

*ptr = 34;

*ch = ‘p’;

*fp = 45.67;


We can also initialize the pointer variable

int *ptr = new int (10);

cout<<*ptr; // prints a

float *fp = new float (34.56);

cout<<*fp; // prints 34.56



The allocated memory can be freed also.

For de-allocation C++ provides delete operator.

The delete operator  used to delete memory previously allocated by new operator. For instance if ptr points to memory allocated by new and when this memory is no longer required we can delete it. 


Syntax of delete:

 delete pointer_variable;


some examples:-

delete ptr;

delete fp;



Example of new and delete operator:-

//new and delete opearator
#include<iostream>
using namespace std

int main( )
{

int *a=new int;  // new for allocation
*a=20;
char *c=new char('p');
float *f=new float(2.34);
cout<<"integer value="<<*a<<"\t"<<"Address="<<a<<endl;
cout<<"character value="<<*c<<"\t"<<"Address value="<<(void *)c<<endl;
cout<<"Float value="<<*f<<"\t"<<"Address="<<f<<endl;

delete a;  
delete c;  // delete of de-allocation
delete f;
return 0;

}

output:-

integer value=20    Address=0x2756f68
character value=p   Address value=0x2756f78
Float value=2.34    Address=0x2756f88


I hope that whatever information I have given in this post today, you have liked it and you have understood it.so keep learning and wait for the next post that will help you to increase your knowledge with the something new information.

Thank you so much for reading. And take care about yourself and your family.







Comments

Popular posts from this blog

Constructor in c++

Hello friends, in this post today, we learn about  what is constructor in c++ and types of constructor . so lets start... Constructor in c++ Constructor:-   A constructor is a “special” member function which initializes the objects of class.  Constructor is used to solve problem of initialization. Properties of constructor:- Constructors are used to construct the object of the class. Constructor name must be same as class name. Constructor is invoked automatically when objects of the class are created. The constructors are always declared in the public section. If declared in the private section then objects are can only be created inside the member functions but serve no purpose. It must be an instance member function , that is, it can never be static. Constructors  do not have any return type not even void so they cannot return any value. Constructor can also be overloaded. Constructors cannot be inherited, but they can be called from the constructors of...

What is reference variable in c++

Hello friends, in this post today, we learn about What is reference variable in c++. and what is its major use  in c++ . so lets start... Reference variable in c++ Reference variable:- Reference variable is a new concept in C++. A reference variable is a variable which provides an alias (alternative name) for a previously defined variable or any constant. Reference variable is an internal pointer. Declaration of reference variable is preceded with & symbol ( but do not read it as ‘address of ‘). Reference variable must be initialized during declaration. It can be initialized with already declared variables only. Reference variables can not be updated. This mechanism is useful in object oriented programming because it permits the manipulation of objects by reference, and eliminates the copying of object parameters back and forth. It is also important to note that references can be created not only for built-in data types but also for user- defined data types. Syntax: Data_...

Access modifiers in c++

Hello friends, in this post today, we will learn about Access modifiers in c++ and how to use it in data hiding. so let's start.... Access specifiers (or visibility labels)  that control the flow of data member and function outside the class. There are 3 types of access levels which are:- Access specifiers public: - Public is keyword . The class members ( functions or data) , which are declared as public can be accessed from outside the class. private:- Private members  of the class can only accessed by   the members functions with in that class. Private is a keyword which is used in Data hiding and Data abstraction. It is also used in Encapsulation. protected :- Protected is  keyword. This access specifier play a very important role in Inheritance. The class member s, which are declared as Protected   can be   accessed within the class   and   from derived class but cannot be accessed from any other class. NOTE :- If we do not declare any ...