C++ Tutorials

C++ ( pronounced " see plus plus ", IPA: / si? pl? s pl? s / ) is a general - purpose programming language with high - level and low - level capabilities. It is a statically typed, free - form, multi - paradigm, usually compiled language supporting procedural programming, data abstraction, object - oriented programming, and generic programming. Since the 1990s, C++ has been one of the most popular commercial programming languages. [citation needed]

C++ is regarded as a mid - level language. This indicates that C++ comprises a combination of both high - level and low - level language features. [1]

Bjarne Stroustrup developed C++ in 1979 at Bell Labs as an enhancement to the C programming language and named it " C with Classes ". In 1979 it was renamed to C++. Enhancements started with the addition of classes, followed by, among other features, virtual functions, operator overloading, multiple inheritance, templates, and exception need. The C++ programming language standard was ratified in 1998 as ISO / IEC 14882: 1998, the current version of which is the 2003 version, ISO / IEC 14882: 2003. A new version of the monotonous ( known informally as C++ 0x ) is being developed.

Stroustrup began travail on C with Classes in 1979. The idea of creating a new language originated from Stroustrup's experience in programming for his Ph. D. thesis. Stroustrup found that Simula had constitution that were very helpful since large software development, but the language was too slow for able use, while BCPL was fast but overmuch low - level and unsuitable for large software development. When Stroustrup started working in Bell Labs, he had the problem of analyzing the UNIX kernel with estimation to distributed computing. Remembering his Ph. D. experience, Stroustrup set out to enhance the C language with Simula - like features. C was chosen because it is general - purpose, fast, and portable. Besides C and Simula, some other languages which inspired him were ALGOL 68, Ada, CLU and ML. At first, the class, derived class, bulk type checking, inlining, and default argument features were added to C via Cfront. The opening commercial release occurred in October 1985. [2]

In 1983, the name of the language was changed from C with Classes to C++. Unspoiled features were another including virtual functions, function name and operator overloading, references, constants, user - controlled free - store memory control, improved singularity checking, and BCPL style single - work comments with two forward slashes ( / / ). In 1985, the primordial edition of The C++ Programming Language was released, providing an conspicuous excerpt to the language, as there was not yet an official standard. In 1989, Release 2. 0 of C++ was released. Topical mood included multiple inheritance, abstract classes, static member functions, const member functions, and protected members. In 1990, The Annotated C++ Reference Manual was published. This work became the basis for the future standard. Late appendage of features included templates, exceptions, namespaces, new casts, and a Boolean reputation.

As the C++ language evolved, a standard library also evolved with it. The premier addition to the C++ standard library was the stream I / O library which provided facilities to replace the traditional C functions such since printf and scanf. Later, among the most significant additions to the standard library, was the Standard Template Library.

After years of work, a joint ANSI - ISO committee standardized C++ in 1998 ( ISO / IEC 14882: 1998 ). For some years after the official release of the standard in 1998, the committee processed defect reports, and published a corrected version of the C++ standard in 2003. Prerogative 2005, a specialized report, called the " Library Technical Report 1 " ( often known as TR1 for short ) was released. Epoch not an official part of the stale, it gives a number of extensions to the standard library which are expected to show included in the next version of C++. Support for TR1 is growing in almost all currently maintained C++ compilers.

Chronology the C++ language is royalty - free, the standard document itself is not freely available.

The name " C++ "
This name is credited to Rick Mascitti ( mid - 1983 ) and was first used in December 1983. Earlier, during the research phrase, the developing language had been referred to as " new C ", then " C with Classes ". In computer science C++ is still referred to in that a superstructure of C. The final 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. According to Stroustrup: " the name signifies the evolutionary nature of the changes from C ". C + was the name of an earlier, unrelated programming language.

Stroustrup addresses the origin of the name in Chapter 1 of his book, The C++ Programming Language, remarking that another interpretation of the C++ name could be seen from the appendix of George Orwell's Nineteen Eighty - Four. Of the three segments of the fictional language Newspeak, the " C vocabulary " is the one dedicated to technical terms and jargon. " Doubleplus " is the superlative modifier for Newspeak adjectives. And so, " C++ " might hold the meaning " most C - like " in Newspeak.

When Rick Mascitti was questioned informally in 1992 about the naming, he indicated that it was given in a tongue - in - cheek spirit. He never thought that it would convert the formal name of the language.

A common joke about the term is that in C++, when + + is used as a postfix operator the variable is incremented only after its value has been used ( hence, over this reason and to match the double - plus Newspeak usage described upper, it should be ++C rather than C++ ).

Fated development
C++ continues to evolve to meet future requirements. A new version of the C++ standard is currently being worked on, entitled C++ 0x, denoting that it is expected to be released before 2010. Current work indicates that C++ will continue to capitalize on its multi - paradigm nature. Notable expected improvements are native support for threading and concepts, which commit compose working with templates easier. Adding garbage collection is currently under heavy discussion. Boost. org is a group working to make the most of C++ in its trivial form. They are expanding C++ 's functional and metaprogramming abilities and also advise the C++ standards committee on which features work sane and which need improving.

C++ Tutorials Links

An Introduction to C++ Programming
URL: http://www.edm2.com/0507/introcpp1.html
13 part C++ programming tutorial.

C++ Annotations Version 5.1.0b
URL: http://ari.cankaya.edu.tr/~guvenc/ceng112/cplusplus.html
This document is intended for knowledgeable users of C who would like to make the transition to the C++ programming language.

C++ Language Tutorial
URL: http://members.tripod.com/sundog97/tutorial_cpp/index.html
12 printer-friendly chapters for those already proficient in C.

Introduction to Object-Oriented Programming Using C++
URL: http://www.gnacademy.org/text/cc/Tutorial/tutorial.html
This tutorial is a collection of lectures for an online course.

URL: http://www.cprogramming.com/tutorial.html
Online tutorial that can also be downloaded and some graphics tutorials for downloading.

C++ Tutorials
URL: http://www.glenmccl.com/tutor.htm
Includes introductions to namespaces and the standard template library (stl), a bunch of examples of "C++ as a Better C" and some miscellaneous topics.

The cplusplus.com tutorial
URL: http://www.cplusplus.com/doc/tutorial/
Complete C++ language tutorial.

An Introductory STL tutorial
URL: http://www.codeproject.com/vcpp/stl/stlintroduction.asp
This tutorial gives a basic introdution of the concepts of the STL.

An Introduction to C++
URL: http://www.acm.org/crossroads/xrds1-1/ovp.html
This is the first installment in a series called "Objective Viewpoint" that will teach you about C++ and Java

URL: http://www.cppspot.com/
C++ tutorials and help for beginners that you can actually understand. Includes forums, downloads and much more.

C++ Programming Tutorial
URL: http://cplus.about.com/library/blcplustut.htm
This tutorial features a series of lessons designed to teach you the basics of C++ programming. Includes 35 lessons that start with good old Hello World and progress through variables, constants, I/O, conditions, looping, arrays, vectors, functions, overloading, constructors, templates, inheritance, polymorphism and a bunch of other topics.

C++ Programming Language Tutorials
URL: http://www.cs.wustl.edu/~schmidt/C++/
This material was developed as part of a series of courses on C++ and consists of a number of pdf documents.

C++ Ripped Apart
URL: http://warebiz.tripod.com/cpp.htm
C++ tutorial designed to help anyone who wants to learn C++, especially students considering the tutorial was based on notes, examples, assignments, and projects from college classes and written by a student.

Crashproof C++
URL: http://www.troubleshooters.com/codecorn/crashprf.htm
Avoid some of the common pitfalls with strings, buffers, stacks and memory leaks.

Object Oriented Programming
URL: http://www.csd.uu.se/kurs/oop/ht98/Lectures/
Extensive C++ OOP resources that can be read online or downloaded as well as some smalltalk information.

C++ tutorial for C users
URL: http://www.4p8.com/eric.brasseur/cppcen.html
This text enunciates and illustrates features and basic principles of C++. It is aimed at experienced C users who wish to learn C++.

C++ Tutorial - FunctionX
URL: http://www.functionx.com/cpp/
This tutorial is an introduction to C++ that addresses computer programming using the C++ language.

Function Pointer Tutorials
URL: http://www.function-pointer.org/
The site dedicated to C and C++ Function Pointers

Notes on (re)learning C++
URL: http://g.oswego.edu/dl/mood/C++notes.html
Mostly OOP material for C++.

Windows API Tutorials
URL: http://www.relisoft.com/win32/index.htm
Excellent tutorials for windows programming from the basic hello world window to a graphics tutorial on DirectDraw. Souce examples can be downloaded.

C++ Programming Tutorial II
URL: http://appsrv.cse.cuhk.edu.hk/~csc4510/cxx/tutorial.2/1.htm
Classes and Objects

An Introduction to OOP
URL: http://xcitebox.tripod.com/oop/oopproject.html
Sample date program done in Borland C++ Builder with screenshots and sample code.

online C++ tutorial
URL: http://www.intap.net/~drw/cpp/index.htm
This is a C++ tutorial site that is under construction and has gotten as far as pointers.

theForger's Win32 API Tutorial
URL: http://www.winprog.org/tutorial/
This tutorial attempts to get you started developing with the Win32 API as quickly and clearly as possible.

FoosYerDoos programming
URL: http://www.foosyerdoos.fsnet.co.uk/
Website that is devoted to win32 C++ programming with a variety of different compilers including but not necessarily limited to Borland BCC5.5 command line, mingw(DevC++ IDE) and msvc++.

URL: http://www.bytamin-c.com/
This page was created by developers for developers working with C++Builder.

Yet Another Code Site
URL: http://home.att.net/~robertdunn/Yacs.html
This site is dedicated to advancing the understanding of Borland's C++ Builder, the Borland Visual Component Library (VCL), and related Microsoft Windows API issues.

C++ Builder Tutorial
URL: http://visualcomponentlibrary.com/bcb/
This site is dedicated to the VCL and its documentation as it relates to C++ Builder.

Steve's Borland C++ Builder 3 Page - Tutorials
URL: http://www.users.bigpond.com/SHaworth/tutorial.html
This section of my Builder web pages will present several tutorials on how to do things in Builder. The type of tutorials will range from beginner to advanced.

Dev-C++ Tutorial
URL: http://www.geocities.com/uniqueness_template/
Tutorial for programming with and configuring Dev C++ and the Insight Debugger.

Using the Borland 5.5 Compiler and command-line tools
URL: http://community.borland.com/article/0,1410,20997,00.html
This article takes a look at what's contained in the free download and shows how you can start building programs.

Creating And Using DLLs
URL: http://www.flipcode.com/tutorials/tut_dll01.shtml
This document will attempt to show you how to create a basic DLL and how to use it (with import library linking and without).

V Girish's Page
URL: http://www.geocities.com/contactgirish/homepage.html
Tutorials and code snippets.

Online C++ Tutorial
URL: http://www.intap.net/~drw/cpp/
This is under construction and looks promising. At the moment it seems to cover up to function basics and some object basics, but the advanced sections are yet to be completed.

Installing Cygwin
URL: http://cplus.about.com/library/weekly/aa031202a.htm
A Unix-like Environment For Your PC With C/C++ Development Tools.

Installing Borland's 5.5 Compiler
URL: http://cplus.about.com/library/weekly/aa031502a.htm
Step by step instructions for installing and compiling with Borland 5.5

Borland C++ 5.02 Tutorial
URL: http://cisnet.baruch.cuny.edu/garnett/tutorials/bc5/intro.html
The aim of these tutorials is introduce the essential features of the Borland C++ programming environment. Although this tutorial uses Borland C++ version 5.02, many of the concepts presented here are also valid for other development platforms.

More Links..

C++ structures and classes
List of C++ compilers and integrated development environments
Visual C++
Boost C++ Libraries - Selection of C++ libraries designed to work with the standard C++ library
CodeSynthesis XSD - An open-source XML data binding framework for C++
Name mangling
Template metaprogramming
Comparison of Java and C++
Comparison of programming languages
Aard - A programming tool to check memory usage of C++ programs
Aikido - Scripting language with C++ like syntax

Share this

Related Posts