• C++ programming language is one of the oldest and most efficient language that still continues to dominate the realm of programming.
  • For every beginner wants to know about the advantages and disadvantages of C++on the basis of which they can start their programming journey.
  • Limitations and Benefits are the most important to know to predict their next step.

Advantages of C++

Portability

  • Portability or platform independence which allows the user to run the same program on different interfaces or operating system.
  • For programmer this feature proves to be of great convenience.
  • Suppose in Linux OS we write a program and for some reason switch to Windows OS, we would be able to run the same program in windows as well without any error.

Object-Oriented

  • In C++ the feature of object-oriented programming which includes concepts like classes, polymorphism, inheritance, encapsulation and data abstraction that makes a program even more reliable and allow code reusability.

Multi-Paradigm

  • It is a multi-paradigm programming language.
  • The term paradigm refers to the style of programming and includes procedure, logic and structure.
  • Generic, object-oriented and imperative are the three paradigms of C++.

Memory Management

  • C++ programmer gives the provision of total control over memory management.
  • An asset and a liability are the both increases the responsibility of the user to manage memory rather than it being managed by Garbage Collector.

Compatibility with C

  • Compare with C program, C++ is pretty much compatibility
  • Every error-free C program is a valid of C++ program, virtually.
  • Every program of C++ can run on a file with .cpp extension, depending on the compiler used.

Low-Level Manipulation

  • At certain level C++ allows low-level manipulation of data, which is a procedural language closely related to the machine language, C++ is closely associated with C.
  • Compiler and embedded systems are created with the help of C++.

Large Community Support

  • C++ has a large community that supports it by providing online courses and both paid, unpaid and lectures.
  • Statistically speaking, in Stack Overflow and Git Hub C++ is the most used and followed tag.

Scalability

  • Scalability refers to the ability of a program to scale, that means the C++ program is capable of running on a small scale as well as a large scale of data.

Disadvantages of C++

Use of pointers

  • Pointers in C++ consumes a lot of memory and relatively difficult concept to grasp.
  • Misuse of pointers like wild pointers may cause the system to behave or crash anomalously.

Absence of garbage collector

  • Using Dynamic Memory Allocation (DMA) C++ gives the user complete control of managing the computer memory.
  • It lacks the feature of a garbage collector to automatically filter out unnecessary data.

Security Issues

  • As compared to other programming languages object-oriented programming offers a lot of security to the data being handled that are not object-oriented, like C, certain security issues still exist due to the availability of pointers, friend functions and global variables.

Absence of built-in thread

  • Threads is a relatively new concept in C++ which wasn’t initially there and it does not support any built-in threads.

Categorized in: