What is the role of C++ in Computer Science?

C++ is a programming language developed by Bjarne Stroustrup in 1979 at Bell Labs. C++ is regarded as a middle-level language, as it comprises a combination of both high-level and low-level language features. It is a superset of C, and that virtually any legal C program is a legal C++ program. C++ runs on a variety of platforms, such as Windows, Mac OS, and the various versions of UNIX.

It was designed with a bias toward system programming and embedded, resource-constrained and large systems, with performance, efficiency and flexibility of use as its design highlights. It has been used in the development of software infrastructure and resource-constrained applications, including desktop applications, servers (e.g. e-commerce, web search or SQL servers), and performance-critical applications (e.g. telephone switches or space probes).

C++ was designed as a successor to C and was a new language that introduced many concepts in Computer Science. C++ introduced the concept of templates for generic programming. It also introduced RAII(Resource allocation is initialization) and deterministic destructors which help in better memory management.

C++ introduced the concept of user overloadable operators making user-defined types in C++ seem like built-in types. It also supports multiple inheritances that help in modeling complex real life constructs.

Finally, C++ is a very structured language close to the machine and is used for various tasks in which you need raw performance. It has been used to implement various applications which would simply be too slow or unmaintainable if built with other languages. 

For example, most financial institutions use C++ to model financial data as it is very fast. It is also a level higher than C but provides the same functionality as C and hence can also be used in embedded environments. It is often used to develop game engines, games, and desktop apps. Many AAA title video games are built with C++.