Open In App

Features of C++

C++ is a general-purpose programming language that was developed as an enhancement of the C language to include an object-oriented paradigm. It is an imperative and compiled language. C++ has a number of features, including:



1. Object-Oriented Programming

C++ is an Object-Oriented Programming Language, unlike C which is a procedural programming language. This is the most important feature of C++. It can create/destroy objects while programming. Also, It can create blueprints with which objects can be created. We have discussed the Object-Orient Programming Concepts in C++ in this article.

Concepts of Object-oriented programming Language:



2. Machine Independent

A C++ executable is not platform-independent (compiled programs on Linux won’t run on Windows), however, they are machine-independent. Let us understand this feature of C++ with the help of an example. Suppose you have written a piece of code that can run on Linux/Windows/Mac OSx which makes the C++ Machine Independent but the executable file of the C++ cannot run on different operating systems.

3. Simple

It is a simple language in the sense that programs can be broken down into logical units and parts, has rich library support and has a variety of data types. Also, the Auto Keyword of C++ makes life easier.

Auto Keyword

The idea of the auto keyword was to form the C++ compiler to deduce the data type while compiling instead of making you declare the data type every freaking time. Do keep in mind that you cannot declare something without an initializer. There must be some way for the compiler to deduce your type.

Example:




// C++ program to demonstrate
// working of auto keyword
  
#include <bits/stdc++.h>
using namespace std;
  
// Driver Code
int main()
{
  
    // Variables
    auto an_int = 26;
    auto a_bool = false;
    auto a_float = 26.24;
    auto ptr = &a_float;
  
    // Print typeid
    cout << typeid(a_bool).name() << "\n";
    cout << typeid(an_int).name() << "\n";
    return 0;
}

Output: 
b
i

 

4. High-Level Language

C++ is a High-Level Language, unlike C which is a Mid-Level Programming Language. It makes life easier to work in C++ as it is a high-level language it is closely associated with the human-comprehensible English language.

5. Popular

C++ can be the base language for many other programming languages that supports the feature of object-oriented programming. Bjarne Stroustrup found Simula 67, the first object-oriented language ever, lacking simulations, and decided to develop C++.

6. Case-sensitive

It is clear that C++ is a case-sensitive programming language. For example, cin is used to take input from the input stream. But if the “Cin” won’t work. Other languages like HTML and MySQL are not case-sensitive languages.

7. Compiler Based

C++ is a compiler-based language, unlike Python. That is C++ programs used to be compiled and their executable file is used to run them. C++ is a relatively faster language than Java and Python.

8. Dynamic Memory Allocation

When the program executes in C++ then the variables are allocated the dynamical heap space. Inside the functions, the variables are allocated in the stack space. Many times, We are not aware in advance how much memory is needed to store particular information in a defined variable and the size of required memory can be determined at run time.

9. Memory Management

Example:




// C++ Program to implement
// the Memory Management
  
#include <cstring>
#include <iostream>
using namespace std;
  
// Driver Code
int main()
{
    int num = 5;
    float* ptr;
  
    // Memory allocation of
    // num number of floats
    ptr = new float[num];
  
    for (int i = 0; i < num; ++i) {
        *(ptr + i) = i;
    }
  
    cout << "Display the GPA of students:" << endl;
    for (int i = 0; i < num; ++i) {
  
        cout << "Student" << i + 1 << ": " << *(ptr + i)
             << endl;
    }
  
    // Ptr memory is released
    delete[] ptr;
  
    return 0;
}

Output: 
Display the GPA of students:
Student1: 0
Student2: 1
Student3: 2
Student4: 3
Student5: 4

 

10. Multi-threading

Example:




// C++ Program to implement
// the working of Multi-threading
  
#include <cstdlib>
#include <iostream>
#include <pthread.h>
  
using namespace std;
  
#define NUM_THREADS 5
  
// Function to print Hello with
// the thread id
void* PrintHello(void* threadid)
{
    // Thread ID
    long tid;
    tid = (long)threadid;
  
    // Print the thread ID
    cout << "Hello World! Thread ID, "
         << tid << endl;
  
    pthread_exit(NULL);
}
  
// Driver Code
int main()
{
  
    // Create thread
    pthread_t threads[NUM_THREADS];
    int rc;
    int i;
  
    for (i = 0; i < NUM_THREADS; i++) {
  
        cout << "main() : creating thread, "
             << i << endl;
  
        rc = pthread_create(&threads[i],
                            NULL,
                            PrintHello,
                            (void*)&i);
  
        // If thread is not created
        if (rc) {
            cout << "Error:unable to"
                 << " create thread, "
                 << rc << endl;
  
            exit(-1);
        }
    }
  
    pthread_exit(NULL);
}

Output:

 

This tutorial assumes that you are working on Linux OS and we are going to write a multi-threaded C++ program using POSIX. POSIX Threads or Pthreads provide API which is available on many Unix-like POSIX systems such as FreeBSD, NetBSD, GNU/Linux, Mac OS X, and Solaris. 


Article Tags :