Redirected from C Plus Plus programming language
|
History of C++ Stroustrup began work on the language in 1979, inspired by Simula67[?], and the language was first used, by AT&T, in August 1983. The original compiler was Cfront. The first commercial release was in October 1985.
History of the Name "C++" While most C is valid C++, C is not a subset of C++; although, the names do indicate a distinct relationship. This name is credited to Rick Mascitti[?] (mid-1983) and was first used in December '83. Earlier, during the research period, the developing language had been referred to as "C with Classes". The name 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, for example: "Wikipedia+". According to Stroustrup: "the name signifies the evolutionary nature of the changes from C". C+[?] was earlier used as the name for an unrelated program.
Some C programmers have noted that
if the statements x=3; and y=x++; are executed, then x==4 and y==3.
However, if the second statement is y=++x;, then y=4 and x=4.
Following such reasoning, a more proper name for C++ might actually be ++C. However, other C programmers do use the expression "c++" to increment the variable "c".
Ownership of C++ Nobody owns C++. Stroustrup and AT&T are not paid royalties for the usage of C++.
"Hello Wikipedia!" Program The below code can be compiled into a program which outputs a text message. See also: Hello world program
#include <iostream> // The <iostream> header is needed for std::cout
int main() // Beginning of main() function
{ // { ... } is used to include blocks of code
std::cout << "Hello, Wikipedia!\n"; // Outputs the text enclosed by ""
}
Note that older (non-standard) C++ compilers (such as Borland C++ 5.02[?]) usually require <iostream.h> instead of the standard <iostream>, and cout instead of std::cout.
#include <string>
using std::string;
class InetMessage
{
string m_subject, m_to, m_from;
public:
InetMessage (const string& subject,
const string& to,
const string& from);
string subject () const;
string to () const;
string from () const;
};
The C++ standard library is mostly a superset of of the C standard library. A large part of the C++ library comprises the Standard Template Library (STL). The STL provides such useful tools as iterators (which are like high-level pointers) and containers (whuch are like arrays that can automatically grow to include new elements). As in C, the features of the library are accessed by using the #include directive to include a standard header. There are fifty non-deprecated standard headers provided in C++:
<algorithm>
<bitset>
<cassert>
<cctype>
<cerrno>
<cfloat>
<ciso646>
<climits>
<clocale>
<cmath>
<complex>
<csetjmp>
<csignal>
<cstdarg>
<cstddef>
<cstdio>
<cstdlib>
<cstring>
<ctime>
<cwchar>
<cwctype>
<deque>
<exception>
<fstream>
<functional>
<iomanip>
<ios>
<iosfwd>
<iostream>
<istream>
<iterator>
<limits>
<list>
<locale>
<map>
<memory>
<new>
<numeric>
<ostream>
<queue>
<set>
<sstream>
<stack>
<stdexcept>
<streambuf>
<string>
<typeinfo>
<utility>
<valarray>
<vector>
The headers of the form <cfoo> correspond to the C headers of the form <foo.h> (except for <complex>, which is new in C++). These C headers are also allowed in C++, but are deprecated. A compatibility header <strstream> is also provided and deprecated.
|
Search Encyclopedia
|
Featured Article
|