C++

A language in the CPL branch of the Algol family of programming languages, C++ is basically AT&T C with the object-oriented features of Simula. While you can compile and run C programs in a C++ environment and some C++ compilers are actually just C compilers with a pre-processor, C++ is in fact a very distinct language to C that by design uses mostly the same syntax.

History
C++ was first implemented as a rudimentary pre-processor for C in 1979 and was then known simply as C with Classes, the name was changed to C84 in 1983 and when people realised that it would clash with the naming convention for the ANSI C formal standard process that had already begun it was changed again to C++ in 1985.

OS/2 implementations

 * Borland C++ for OS/2
 * Glockenspiel C++
 * GNU C++ (g++) - Open Source
 * IBM C Set++ for OS/2
 * IBM VisualAge C++
 * Metaware High C/C++
 * Microway NDP C/C++
 * OpenWatcom C/C++ - Open Source
 * JPI TopSpeed C++
 * Watcom C/C++
 * Zortech C++
 * Interpreters
 * Cint - Open source - Interpreter from CERN, intended for educational use

OS/2 C++ libraries and class libraries
If the compiler supports both C and C++, you can use C libraries with C++ programs and vice versa. However using C++ libraries from C can be a bit kludgey and require you to write bindings. While using C libraries from C++ is less problematic it can also require you to write some interfaces, take a look at the C|C page for available C libraries. Also see the Standard Template Library for STL support.

GUI class libraries

 * Cubus OS/2 Class Library - Encapsulates PM and VIO API's - Open source
 * Liant C++/Views - Multi-platform app framework/GUI library
 * ObjectPM - Presentation Manager classes
 * OpenZinc (formerly Zinc) - Multi-platform UI library - Originally commercial, now open source
 * Qt - Multi-platform application and UI framework
 * StarDivision StarView
 * V C++ GUI Framework - Multi-platform - Open source

Database and file management

 * C/Database Toolchest - Library for database creation and maintenance
 * CdBFile - For reading/writing .dbf/xBase files - Open Source
 * CSLIB - Database classes and generator
 * CThrough - Graphics class library
 * dbfLIB++ - A tool that allows you to work with xBase databases
 * e_Comm - Communications and networking
 * e_Db - Database engine
 * e_Fs - Virtual file system
 * Kroni's Classes - Class library with sundry PM functions - PostcardWare
 * Lily - Embeddable LISP - Open Source
 * Net.h++ - Networking and comms
 * The Open Objects Library (OOL) - Originally freeware, now open source
 * Socket++ - Networking library - Open Source
 * Threads.h++ - Multi-threading
 * Tools.h++ - Foundation classes
 * WebM libvpx - VP8/VP9 streaming video - Open Source
 * Xerces C++ - XML parser - Open Source
 * ZGRAF - Graphing library

Data compression
Open source:
 * LZ4 - Compression library -
 * Snappy - Compression library
 * Zipios++ - Compression class library

Signal processing

 * Aquila - DSP library
 * Simple SPL - DSP library - Freeware

GUI and application generators with C++ output

 * Hockware VisPro/C++ - GUI Creator
 * JBA Guidelines - GUI/Database/Application creator
 * Professor Owl - Open Source - For Borland OWL only
 * Vestronix Pro C - Database and spreadsheet application generator

Translators that generate C++ output

 * Oracle Pro C - SQL > C++
 * Tower Eiffel - Can optionally generate C++ instead of native output

Workframes and or IDE's

 * CommonPoint
 * Object WorkBench - Shareware

Code verifiers, beautifiers, visualisers and other C++ source code utilities

 * CC-Rider C++ - Static analyser, beautifier and visualiser.
 * DOC++ - Automatic document generator - Open source
 * Ephedra - C/C++ to Java - Open source
 * Exuberant ctags - Creates index files out of C++ source files - Open source
 * PC-Lint
 * SourceLink - Browser/Editor/Visualiser

C++ source code snippets, archives and collections
Small programs or routines that you can integrate into your own programs or study to learn from, but are not delivered in library form.
 * Dave Briccetti's Programming Samples - Sundry C++ code example
 * OS/2 Primecuts - OS/2 API Examples - Open source
 * PostWhat WPS Class Example - WPS code and registration example - Open Source

Applications with a C++ programming interface

 * PostgreSQL - SQL relational database system - Open source

DOS implementations

 * Borland C++
 * Borland Turbo C++
 * Comeau C++
 * Glockenspiel C++ (Guidelines C++, Oasys Designer C++)
 * Intek C++
 * Metaware High C/C++
 * Microsoft C/C++ 7.0
 * OpenWatcom C/C++ - Open Source
 * Orange C/C++ Compiler - Open Source
 * Salford Software C++
 * TopSpeed C++
 * Digital Mars C/C++, Symantec C++, Zortech C++


 * Interpreter
 * Cint - Open source - Current - Interpreter from CERN, intended for educational use

Class libraries

 * C/Database Toolchest - Library for database creation and maintenance
 * CdBFile - For reading/writing .dbf/xBase files - Open Source
 * e_Db - Databse engine
 * ZGRAF - Graphing library

Editors support

 * Boxer - C++ support included by default
 * BRIEF
 * Elvis - C++ syntax support included by default - Open source
 * FTE - Has support for syntax highlighting, code folding and syntax-aware autoindent.

Implementations that run under WinOS/2

 * Microsoft C/C++ 7.0 - Commercial - Discontinued
 * TopSpeed C++ - Commercial - Discontinued - Cross compilation from DOS or OS/2 only

WinOS/2 compatible libraries and class libraries

 * C/Database Toolchest - Library for database creation and maintenance - Note that the correct library for Win16b development is called the DOS library (but contains Win 16b libs as well) and not the Windows one.
 * Net.h++ - Networking and comms
 * Tools.h++ - Foundation classes
 * V C++ GUI Framework - Multi-platform - Open source

Publications
Note that product specific publications are listed on their relative product page.

OS/2 and C++ related articles, info & tips

 * Björn Fahller: Encapsulating Extended Attributes
 * Dave Briccetti: Use DosAllocMem for Boundary Overflow Protection
 * Darrell Spice: STLport and VAC++ for OS/2
 * Gordon Zeglinski: The STL (Standardized Template Library)
 * Standard Template Library

Books

 * Bjarne Stroustrup: The C++ Programming Language (4th edition) - 2013, ISBN 0321958322
 * More or less the standard text for learning C++, requires some prior programming knowledge, preferably C.


 * Bjarne Stroustrup: The C++ Programming Language (2nd edition) - Addison-Wesley 1990, ISBN 0-201-53992-6
 * An older version of the same book, again not for beginners but at half the size of the current version this is in some ways a better read for those that are using vintage compilers such as VisualAge C++.


 * Margaret A. Ellis & Bjarne Stroustrup: The Annotated C++ Reference Manual - Addison-Wesley 1990, ISBN 0-201-51459-1
 * In some ways better than the other Stroustrup works as a reference book, the explanations of some of the rules are much clearer. Not a tutorial, not for beginners.


 * Taligent: Taligent's Guide to Designing Programs: Well Mannered Object-Oriented Design in C++ - Addison-Wesley 1994 - Available to read online form here - ISBN 0-201-40888-0
 * Although outdated, a really good introduction to object oriented C++, not a beginners book but suitable for intermediate and advanced users.


 * Anthony S. Rudd: C++ Complete: A Reference and Tutorial to the Proposed C++ Standard - Wiley 1994, ISBN 0-471-06565-X
 * Kris Jamsa: Jamsa's C/C++/C# Programmer's Bible: 2nd edition - Delmar Cengage Learning 2002, ISBN 0766846822

Articles

 * David R. Tribble: Incompatibilities Between ISO C and ISO C++ - Old but highly useful document for those wanting to port C code to C++

Tutorials and other learning material
Part 1, Part 2, Part 3, Part 4, Part 5, Part 6
 * EDM/2 has its own C++ tutorial written by Terry Norton:
 * MIX Software has a number of video courses available that focus on teaching C++, both for the beginner and tackles more advanced topics as well, note that these are delivered in VHS cassette format.
 * The author of C++, Bjarne Stroustrup has a lot of introductory material on his homepage

Links

 * The A-Z of Programming Languages: C++ - An interview with Bjarne Stroustrup - From Computerworld.


 * USENET
 * [news:comp.lang.c++.moderated comp.lang.c++.moderated] - Moderated C++ discussion group


 * Frequently Asked Question lists (FAQ's)
 * The "Super" FAQ - By Marshall Cline, Bjarne Stroustrup, Herb Sutter and Andrei Alexandresc.
 * The "Lite" C++ FAQ - By Marshall Cline, the original FAQ from 1991.
 * Available C++ Libraries FAQ - A huge list of C++ class libraries, for all platforms but a tad outdated.
 * Alternative C++ FAQ - From Cprogramming.com.

Standards
Apart from the original AT&T documents there appear to be no sources of free C++ standards texts, not even pre-publication or beta editions.
 * Initially all C++ compilers and/or pre-processors were based on the original Bjarne Stroustrup pamphlets published by AT&T as C++ Reference Manual, Data Abstraction in C and C++ Tutorial.
 * ISO/IEC 14882:1998 - Aka C++98, the first formal standard, largely written by Stroustrup himself.
 * ISO/IEC 14882:2003 - Aka C++03 - Also has a "C++ Technical Report 1" with clarifications and errata or ISO/IEC TR 19768:2007, that is sometimes referred to as C++07.
 * ISO/IEC 14882:2011 - Aka C++11
 * N3690 (working draft) - Aka C++14 - Had not been finalised in early 2015.
 * According to the working group a new standard is scheduled to be introduced in 2017, so presumably C++17.
 * ISO C++ Working group homepage