You are on page 1of 3

C++ (pronounced "see plus plus") is a statically typed, free-form, multi-paradig m, compiled, general-purpose programming language

. It is regarded as an intermed iate-level language, as it comprises a combination of both high-level and low-le vel language features.[3] Developed by Bjarne Stroustrup starting in 1979 at Bel l Labs, it adds object oriented features, such as classes, and other enhancement s to the C programming language. Originally named C with Classes, the language w as renamed C++ in 1983,[4] as a pun involving the increment operator. C++ is one of the most popular programming languages[5][6] and is implemented on a wide variety of hardware and operating system platforms. As an efficient comp iler to native code, its application domains including systems software, applica tion software, device drivers, embedded software, high-performance server and cl ient applications, and entertainment software such as video games.[7] Several gr oups provide both free and proprietary C++ compiler software, including the GNU Project, Microsoft, Intel and Embarcadero Technologies. C++ has greatly influenc ed many other popular programming languages, most notably C#[2] and Java. Other successful languages such as Objective-C use a very different syntax and approac h to adding classes to C. C++ is also used for hardware design, where the design is initially described in C++, then analyzed, architecturally constrained, and scheduled to create a regi ster-transfer level hardware description language via high-level synthesis.[8] The language began as enhancements to C, first adding classes, then virtual func tions, operator overloading, multiple inheritance, templates, and exception hand ling among other features. After years of development, the C++ programming langu age standard was ratified in 1998 as ISO/IEC 14882:1998. The standard was amende d by the 2003 technical corrigendum, ISO/IEC 14882:2003. The current standard ex tending C++ with new features was ratified and published by ISO in September 201 1 as ISO/IEC 14882:2011 (informally known as C++11).[9] Contents [hide] 1 History 1.1 Etymology 1.2 Standardization 2 Philosophy 3 Standard library 4 Language features 4.1 Operators and operator overloading 4.2 Templates 4.3 Objects 4.4 Polymorphism 5 Parsing and processing C++ source code 6 Compatibility 6.1 Exported templates 6.2 With C 7 Criticism 8 See also 9 References 10 Further reading 11 External links [edit]History

Bjarne Stroustrup, creator of C++ Bjarne Stroustrup began work on "C with Classes" in 1979.[4] The idea of creatin g a new language originated from Stroustrup's experience in programming for his Ph.D. thesis. Stroustrup found that Simula had features that were very helpful f or large software development, but the language was too slow for practical use, while BCPL was fast but too low-level to be suitable for large software developm ent. When Stroustrup started working in AT&T Bell Labs, he had the problem of an alyzing the UNIX kernel with respect to distributed computing. Remembering his P h.D. experience, Stroustrup set out to enhance the C language with Simula-like f

ABCL/c+ was the name of an earlier. The latest major revision of the C++ standard. The first commercial implementation of C++ was released on 14 O ctober 1985.eatures. it specified a number of extensions to the standard library. CLU and ML. derived class. When Mascitti was questioned informally in 1992 about the naming. s tatic member functions. called the "Library Technical Report 1" (often known as TR1 for s hort). ISO/IEC 14882:2003.[13] C++ continues to be used and is one of the preferred programming languages to de velop professional applications. unrelated programming language. new casts. he indicated that it was given in a tonguein-cheek spirit. In 1985. This work became the basis for the future standard. The Annotated C++ Reference Manual was published. While not an official part of the standard. abstract classes. the committee processed defect reports. providing an important reference to the lang uage. The first add ition to the C++ standard library was the stream I/O library which provided faci lities to replace the traditional C functions such as printf and scanf. It stems from C's "++" operator (which increments the value of a variable) and a common naming convention of using "+" to indicate an enhanced computer program. The final name is credited to Rick Mascit ti (mid-1983) and was first used in December 1983. and published a co rrected version of the C++ standard. strong type checking. [edit]Standardization Year C++ Standard Informal name 2011 ISO/IEC 14882:2011[16] C++11 2007 ISO/IEC TR 19768:2007[17] C++TR1 2003 ISO/IEC 14882:2003[18] C++03 1998 ISO/IEC 14882:1998[19] C++98 In 1998. the first edition of The C++ Programming Language was released. This has caused some concern that some C++ programmers are still writing procedural code.[15] During C++'s development period. As the C++ language evolved.[11] New features included multiple inheritance. which were expected to be included in the next version of C++. was released.[14] [edit]Etymology According to Stroustrup: "the name signifies the evolutionary nature of the chan ges from C". const member functions. the class. user-contro lled free-store memory control. the language had been referred to as "new C". the C++ standards committee (the ISO/IEC JTC1/SC22/WG21 working group) standardized C++ and published the international standard ISO/IEC 14882:1998 (in formally known as C++98). portable and widely used. the name of the language was changed from C with Classes to C++ (++ bei ng the increment operator in C). a mong the most significant additions to the standard library. a tec hnical report. fast. and protected members. was large amounts o f the Standard Template Library. (formerly known as C++0x) . some other languages that inspired him were ALGOL 68 . since there was not yet an official standard. Later. In 1990. references. constants. Cfront. New features were added including virtual funct ions. inl ining. and a Boolean type.[12] It is possible to write object oriented or procedural code in the same program i n C++. the standard library evolved with it. nam espaces. Ada. and default argument features were added to C via Stroustrup's C++ to C c ompiler. Besides C and Simula.0 of C++ came in 1989 and the updated second edition of The C++ Programming Language was relea sed in 1991. C was chosen because it was general-purpose. There is no language called "C plus". and BCPL style single-li ne comments with two forward slashes (//). Late feature additions included templates. Often it is an amalgamation of the two. exceptions. in 2003. function name and operator overloading.[10] Release 2. C++11. improved type checking. simply because they are using C++. then "C with Classes". Support for TR1 is growing in almost all currently maintained C++ compilers.[4] In 1983. C++ is sometimes called a hybrid language. This usuall y causes most problems when the code is revisited or the task is taken over by a nother coder.[citation needed] For some years after the official rel ease of the standard. At first. In 2005. but are under the impression that it is object oriented.

was approved by ISO/IEC on 12 August 2011.[21] .[20] It has been published as 14882:20 11.