10 interesting stories about C++
Due to the lack of support of C language for large software development, Bjarne Stroustrup want to enhance the C language with support for classes borrowing some functionalities from Simula languages. In 1979, a new kind of C language appeared as "with Classes", later it is known as C++. Similarly, there have so many known and unknown stories related to C++. Let's find out 10 of them.
1. Introduced object-oriented programming -
Object-oriented programming was first introduced in C++. C++ supports the four primary features of OOP: abstraction, inheritance, polymorphism and encapsulation.
2. Not purely object oriented -
You can write C++ code without using classes and it will compile without showing any error message. The language contains some extensions over C, that make object oriented programming and generic programming more convenient.
3. Has two main concepts -
The language has two primary concepts on which it was built: direct mapping of hardware features and zero-overhead abstractions for mapping. However, this is why C++ is often touted as a lightweight abstraction programming language that's used for creating efficient abstractions including hardware access.
4. Has more than 35 operators -
Currently, there have more than 35 different operators, ranging from arithmetic and bit manipulation to logical operations, comparisons and more. Virtually all of these operators can be overloaded for specific types.
5. Supports four types of memory management -
C++ supports four different types of memory management, such as static storage duration objects, thread storage duration objects, automatic storage duration objects, and dynamic storage duration objects.
6. Dynamic memory allocation -
In C, dynamic memory allocation is done through malloc, realloc, calloc and free functions, but in C++ this is accomplished through new and delete operators.
7. Operator redefinition -
You can overload operators, and give them new definitions apart from those already in the existing standard library.
8. Introduced the notion of string -
Character arrays inherited from C, which removes many of the problems by putting the onus of memory ownership of the string class rather than on the programmer.
9. First standardized in 1998 -
The language was first standardized in 1998. Since then, it has been standardized three other times, with the most recent being in 2014 (C++14). But that's not the end of the line, and also expected to be standardized again this year, 2017.
10. Influenced many other languages -
C++ has influenced many programming languages, some of which include C#, Java and even newer versions of C.