C++

Development · Tutorials & FAQs · Reference · Software · External

C++ was developed by Bjarne Stroustrup as an object-oriented extension to C. It is now one of the most widely-used languages of all, which is in part because of its C heritage; almost all legal C programs are also legal C++ programs. The ANSI standard for C++ was ratified in 1998.


Development tools:

Software package DJGPP
DJ Delorie's version of GCC 2.95.2 (the GNU C compiler) for DOS and Windows 3.1, which supports C, C++, Objective-C, Pascal and Fortran 77.
   ¤  Apr 2000. Free software under the terms of the GNU General Public License.
Home site: http://www.delorie.com/
Software package MinGW32
Minimal GNU for Win32, a version of GCC 2.95.2 for Windows which supports C, C++, Objective-C and Fortran 77.
   ¤  Nov 1999. Free software under the terms of the GNU General Public License.
Home site: http://www.xraylith.wisc.edu/~khan/software/gnu-win32/
Software package The Cygnus toolkit
A Windows port of most of the GNU Unix tools, including the GCC compiler collection 2.95.3 (covering C, C++, Objective-C, x86 assembler Fortran 77) as well as Perl 5.6.1, Python 2.1 and Tcl/Tk 8.0. Other tools such as make, gdb (the GNU debugger), vi, tar, gzip, grep, sed, awk, and many more are also provided. Even Unix shells such as bash are included, so you can have what appears to be a Unix environment on a Windows system if you want.
   ¤  Aug 2001. Free software under the terms of the GNU General Public License.
Home site: http://sources.redhat.com/cygwin/
Software package Pow!
The Programmer's Open Workbench for Windows. This includes an Oberon compiler, but it can also be used for Java and C++ development if you have the Sun JDK or GCC (g++) installed. C++ requires an extra plugin to be installed separately. Oberon source code is included.
   ¤  Nov 2000. Freeware.
Home site: http://www.fim.uni-linz.ac.at/pow/pow.html
Software package Pow! C++ update
An addon to allow Pow for Windows to use the GNU C++ compiler.
   ¤  Nov 2000. Freeware.
Home site: http://www.fim.uni-linz.ac.at/pow/pow.html
Software package Grasp
An amazing development tool for Ada 95, C, C++ and Java which displays control structure diagrams of your code.
   ¤  Aug 1999. Freeware.
Home site: http://www.eng.auburn.edu/grasp/
Software package Dev-C++
A Windows development environment for use with the GCC compiler. Source code (written using Borland Delphi) is also available.
   ¤  Sep 2000. Free software under the terms of the GNU General Public License.
Home site: http://www.bloodshed.nu/
Software package DFE95
A free Windows IDE for DJGPP.
   ¤  Apr 1998. Freeware.
Home site: http://www.delorie.com/
Software package Rhide
A development environment for use with the DJGPP compiler.
   ¤  Sep 1997. Free software under the terms of the GNU General Public License.
Home site: http://www.delorie.com/
Software package Libero
A tool which lets you design programs visually using state diagrams and then generates code in C, C++, Java, PHP, assembler, or a range of other languages.
   ¤  May 1999. Freeware.
Home site: http://www.imatix.com/
Software package UML Studio
A UML design tool which can generate code in Ada, C++, Java or IDL. This is a restricted version which can only be used for small projects. You will need to register is you want to use it for large projects.
   ¤  Oct 2000. Shareware.
Home site: http://www.pragsoft.com/
Software package Coco/R
An LL(1) compiler generator which generates parsers and scanners in C or C++. Includes full source code.
   ¤  Jun 2001. Freeware.
Home site: http://cs.ru.ac.za/homes/cspt/cocor.htm
Software package Bison
An parser generator tool which generates LALR(1) parsers in C.
   ¤  Mar 1997. Free software under the terms of the GNU General Public License.
Home site: http://www.delorie.com/


Tutorials and FAQs:

Document C++ Annotations
A C++ tutorial for C programmers.
   ¤  Jul 2001. Reproduced by permission.
Home site: http://www.icce.rug.nl/docs/
Document Thinking in C++ (vol. 1)
An online copy of the first volume of Bruce Eckel's textbook "Thinking in C++ (2nd edition)" which is also available from Prentice Hall if you prefer to read a printed book. This volume covers the main features of C++.
   ¤  Feb 2000. Reproduced by permission.
Home site: http://www.BruceEckel.com/
Document Thinking in C++ (vol. 2)
An online copy of the second volume of Bruce Eckel's textbook "Thinking in C++ (2nd edition)" which is also available from Prentice Hall if you prefer to read a printed book. This volume covers the standard C++ libraries and advanced topics.
   ¤  Feb 2000. Reproduced by permission.
Home site: http://www.BruceEckel.com/
Document A Modest STL Tutorial
All about the C++ Standard Template Library.
   ¤  17 Dec 1996. Reproduced by permission.
Home site: http://www.cs.brown.edu/people/jak/programming/stl-tutorial/ (now gone)
Document Mumit's STL Newbie Guide
An introduction to using the Standard Template Library.
   ¤  8 Feb 1997. Reproduced by permission.
Home site: http://www.xraylith.wisc.edu/~khan/software/stl/STL.newbie.html
Document The C++ FAQ
Frequently asked questions about C++.
   ¤  29 Feb 2000. Reproduced by permission.
Home site: http://www.cerfnet.com/~mpcline/c++-faq-lite/
Document Using Pointers and Arrays in C
A tutorial dealing with pointers and arrays in C/C++, which are a common source of difficulty for beginners.
   ¤  26 Jul 1998. Public domain.
Home site: http://www.netcom.com/~tjensen/ptr/cpoint.htm
Document A Critique of C++
A well-argued polemic by Ian Joyner about object-oriented programming in general and C++ in particular, with comparisons to Eiffel and Java.
   ¤  1 Jan 2000. Reproduced by permission.
Home site: http://www.elj.com/cppcv3/
Document Introduction to Programming Langauges
A comparative study of programming languages, their development and the development of the programming paradigms that they embody.
   ¤  3 Aug 2001. Reproduced by permission.
Home site: http://cs.wwc.edu/~aabyan/221_2/PLBOOK/
Document Object-Oriented Programming FAQ
Frequently-asked questions about object-oriented programming in general.
   ¤  2 Apr 1996. Reproduced by permission.
Home site: http://www.cyberdyne-object-sys.com/oofaq2/
Document Object-Oriented Analysis and Design
An introductory course.
   ¤  1997. Reproduced by permission.
Home site: http://www.firstnet.co.uk/meniscus/oocnotes.htm (now gone)
Document The DJGPP FAQ
All about DJGPP, DJ Delorie's port of the gcc compiler to DOS.
   ¤  2 Feb 2000. Freely redistributable.
Home site: http://www.delorie.com/


Reference material:

Document The Ellemtel C++ Style Guide
An excellent set of guidelines for C++ programming style from Ellemtel Telecommunications.
   ¤  20 Oct 1992. Freely redistributable.
Home site: http://web2.airmail.net/~rks/ellhome.htm
Document STL Programmer's Guide
A reference manual for the Standard Template Library from Silicon Graphics.
   ¤  8 Jun 2000. Freely redistributable.
Home site: http://www.sgi.com/Technology/STL/


Software resources:

Elsewhere on the CD C++ class libraries
Lots of pre-tested C++ classes for all sorts of purposes.
Elsewhere on the CD Source code examples
A large collection of C++ source code of all kinds.
Elsewhere on the CD Development tools
Source code beautifiers, CASE tools, revision control systems and so on.


External resources:

External website The C++ Virtual Library
External website The C/C++ User Group
External website Cetus Object-Orientation Links
A huge collection of object-oriented links.
External website The OO Soapbox
A wide-ranging collection of information about object-oriented programming.
External website C/C++ links at Yahoo
These are also available at Yahoo UK.
External website The comp.lang.c++ newsgroup
A newsgroup for discussions of C++-related issues.
External website The comp.object newsgroup
A newsgroup for discussions of general object-oriented programming.


BURKS version 6 · Copyright © John English 1996-2001. All rights reserved.