MC logo
[^] CSc 220 Home
[Introduction] [Boolean and Control] [Functions] [Arrays and Pointers] [Dynamic Arrays] [Array Errors] [Command Array] [Standard Containers] [Structs and Classes] [Automatic Pointer] [Multi-File Programs] [Copying Objects] [Templates] [Inheritance] [Plain C I/O] [Type Odds And Ends] [Plain C Strings] [File I/O]
[Standards] [Programming Environment] [Hello, World!] [Hello Again, World!] [Identifiers] [Constants] [Average of Three] [Basic Types] [Shortcut Operators] [Increment Operators] [C++ Strings]

The C and C++ languages are governed by standards issued by industry committees.

Any particular compiler may implement a standard well or poorly.

Any particular compiler may target a recent or an older standard.

The official C++ standards were issued in 1998, 2003, and 2011. Much of the 2011 standard is implemented in common compilers, but not all. A 2014 standard is scheduled for later this year; it's listed as a minor standard, tweaking some things from 2011.

The latest GNU C++ compiler (used with Code::Blocks unless you explicitly change it), implements most of the 2011 standard, but compiles to the 2003 standard unless you explicitly ask for the newer one.

The first plain C standard was ratified in 1989 and published 1990. The second was published in 1999, with official corrections in 2001, 2004 and 2007. The most recent issued in 2011.

C is generally a subset of C++. Exceptions are typically rare cases that will not concern us in this course.