C++ 'cplusplus' Programming Language


C++ 'cplusplus' programming language supports data abstraction, object-oriented programming and generic programming as well as low-level hardware programming. The language was developed in the early 1980s by Bjarne Stroustrup at Bell Labs.

Today it is one of the most popular programming languages ​​and is used in everything from computer games to consumer electronics.

C ++ is based on program language C and has taken many concepts and constructions from it. However, C ++ has chosen to support object-oriented programming by implementing, among other things, the class concept, initially inspired by Simula. C ++ does not include C in strict sense since there are several differences in semantics between C and the subset of C ++ corresponding to C.

C ++ is increasingly used where C has traditionally been used.

The language syntax is based on C but has been expanded to support more programming paradigms. Although the C ++ syntax is very similar to that in C, the programs are often structured differently.

C++ 'cplusplus' programming language.

To support object-oriented programming, the class concept was implemented by expanding the syntax for structures and allowing both functions and data to be members of a structure. The language also has support for constructors, destructors, legacy, virtual functions as well as overlay of operators.

Stroustrup started work with the C ++ language in 1979, inspired by, among other things, Simula-67 and FORTRAN 77, and it started to be used in AT & T in August 1983.

The original compiler was called "CFront" and was a precompiler of C as generated C code.

The first commercially available compiler came in October 1985.

The first international standard of C ++ came in 1998 (ISO / IEC 14882: 1998, also known as C ++ 98) and has been updated four times: 2003 (C ++ 03), 2011 (C ++ 11), 2014 (C ++ 14 ), 2017 (C ++ 17).

In July 2017, the work began with the next version, C ++ 20 and modules have been voted in C++20 some time ago.

They are meant to be a replacement for #include statements to increase build speeds and to also isolate translation units so, for example, macros defined in one file do not affect the contents of another file.

Nibble Stew runs an interesting C++ blog. "Instead of header files, all source code is written in one file. It contains export statements that describe what functions can be called from the outside. An analogy would be that functions declared as exported would be in a public header file and everything else would be internal and declared in an internal header file (or would be declared static or similar). The module source can not be included directly, instead when you compile the source code the compiler will output an object file and also a module interface file. The latter is just some sort of a binary data file describing the module's interface. An import statement works by finding this file and reading it in.

If you have file A that defines a module and file B that uses it, you need to first fully compile file A and only after the module interface file has been created can you compile file B. Traditionally C and C++ files can be compiled in parallel because everything needed to compile each file is already in the header files. With modules this is no longer the case."

A powerful side of C ++ is templates. These are a syntax that allows reuse of the same code but for different data types. Just as you usually avoid hardcoding data in its code, templates can be used to avoid hard-coding data types.

Templates can be made very advanced, to the extent that there are entire books on the subject. There are a number of templates in the default library, such as lists, queues, and tables for different data types (integer, floating point, strings, etc.).

The typing system is more stringent than for C and prohibits several of the implicit type conversions that C allows. For example, the conversion from void * to other point types is prohibited in C ++ but allowed in C.

C ++ is now an ISO / IEC standard developed by a working group called WG21.

If you want to start programming in C ++, it's a good idea to buy the book C ++ Direct.

Developers website

Games For Linux

Windows has always been the preferred platform for gaming, but after STEAM's interest in Linux more game developers are making their games natively available for Linux.


All information on this website is published in good faith and for general educational purposes and for use in safe testing environments only. While linuxexperten.com strives to make the information on this site as accurate as possible, linuxexperten.com does not warrant its completeness, reliability and accuracy.

We are not responsible for any losses or damages associated with the use of our website. While we strive to provide only links to useful websites, we have no control over the content of these sites and links to other sites do not constitute a recommendation for all content contained on these websites.


Site Information

This is a professional review site that receives compensation from the companies whose products reviewed. Each service or product are thoroughly tested and given high marks if considered to be the very best. Independently owned and the opinions expressed here are no one elses.