Here are nine C++ learning and reference documents
that will help you to better understand and program in the C++
programming language. Several of these are classic documents written by
Bjarne Stroustrup, who is the designer and original
implementor of C++.
Software Development with C++ (287 pages,
976 kb)
Contents:
1. Getting Started
2. Testing and Looping
3. Batches of Data
4. Application: Grading a class
5. Pointers and Iterators
6. Template Programming
7. Designing classes
8. Using Inheritance and Templates
9. When things go wrong
10. System Design
11. Using Design Patterns
12. Odds and Ends: Multithreading, Conversion and Casting,
Concepts to Practice
A. Coding Standards
B. Glossary
C. Creating Projects with Visual C++
An Overview of the C++ Programming Language
(pdf, 23 pages, 83 kb)
"This
overview of C++ presents the key design, programming, and
language-technical concepts using examples to give the reader a feel
for the language. C++ is a general-purpose programming language with a
bias towards systems programming that supports efficient low-level
computation, data abstraction, object-oriented programming, and generic
programming."
Efficiently
Coding Communications Protocols in C++
(pdf, 16 pages, 131 kb)
"Efficient
coding could have two meanings. First efficient coding could refer to
making the best use of a developer’s time when coding and debugging and
embedded application. Second efficient coding could refer to developing
code that has high performance using the minimum of processor and
memory resources when executing. This paper I will show how using C++
classes to implement a communications protocol can improve the
developer’s efficiency then I will discuss some techniques for
improving the execution efficiency."
A
C++ Tutorial, by Bjarne Stroustrup (pdf,
21 pages, (pdf, 23 pages, 1.3 mb)
"This is a tutorial introduction to the C++ programming language. With
few exceptions, C++ is a superset of the C programming language. After
the introduction, abot a third of the text present the more
conventional features of C++: basic types, declarations, expressions,
statements, and functions. The remainder concentrates on C++'s
facilities for data abstraction: user-defined types, data-hiding,
user-defined operators, and hierarchies of user-defined types. Finally
there are a few comments on program structure, compatibility with C,
efficiency and a caveat."
The
C++ Programming Language - Reference Manual, , by
Bjarne Stroustrup (pdf, 61 pages, 4.1 mb)
"C++ is C extended with classes, inline functions, operator
overloading, function name overloading, constant types, references,
free store management, function argument checking, and a new function
definition syntax. ... The differences between C++ and C are summarized."
A
Set of C++ Classes for Co-Routine Style Programming,
by Bjarne Stroustrup (pdf, 19 pages, 1.3 mb)
"This
document described C++ classes for a range of styles and
multi-programming techniques in a single language, single address-space
environment. Class 'task' is a base class for representation of an
activity ina multi-programmed system. A task can be suspended and
resume without interfering with its internal state. Class 'qhead' and
class 'qtail' enable a wide range of message passing and data buffering
schemes to be implemented simply."
Evolving
a Language In and for the Real World: C++ , by
Bjarne Stroustrup (pdf, 59 pages, 674 kb)
"This paper outlines the history of the C++ programming language form
the early days of is ISO standardization (1991), through the 1998 ISO
standard, to the later stages of the C++0x revision of that standard
(2006). The emphasis is on the ideals, constraints, programming
techniques, and people that shaped the language, rather than the
minutiae of language features. Among the major themes are the emergence
of generic programming and the STL (the C++ standard library's
algorithms and containers). Specific topics include separate
compilation of templates, exception handling, and support or embedded
systems programming."
Library
Manual. Select Code 307-145, C++ Language System,
Release
2.0 (pdf, 226 pages, 10.4 mb)
1. Complex Arithmetic in C++. Based on paper by Leonnie
V. Rose and Bjarne Stroustrup.
2. The Task Library. Based on these papers:
- Bjarne
Stroustrup and Jonathan Shopiro. A Set of C++ Classes for Co-routine
Style Programming, Proceedings of the USENIX C++ Workshop, November
1987.
- Jonathan Shopiro. Extending the C++ Class System
for Real-Time Control.
- Stacey Keenan. A Porting Guide for the C++
Coroutine Library.
3. Iostream Examples. Based on paper by Jerry Schwarz.
Selected
Readings. Select Code 307-144, C++ Language System, Release 2.0
(pdf, 224 pages, 9.5 mb)
1. Evolution of C++: 1985 to 1989. Based on paper by
Bjarne Stroustrup.
2. An Introduction to C++. Based on paper by Keith
Gorlen.
3. An Overview of C++. Based on paper by Bjarne
Stroustrup, published in ACM SIGPLAN Notices, October 1986, pages 7-18.
4.
Object-Oriented Programming. Based on paper by Bjarne Stroustrup: What
is Object-Oriented Programming?, published in IEEE Software magazine,
May 1988, pages 10-20.
5. Multiple Inheritance. Based
on paper by Bjarne Stroustrup: Multiple Inheritance for C++, published
in Proceedings of the EUUUG Spring Conference, May 1987.
6.
Type-Safe Linkage for C++. Based on paper by Bjarne Stroustrup,
published in Computing Systems, Volume VI, Number 4, Fall 1988, pages
371-404.
7. Access Rules for C++. Based on a paper by Phil
Brown.
Appendix A. Manual pages for C++: CC, c++filt, and
demangle.
Popularity: 5% [?]
Related Posts:Cisco CCNP Certifcation Training MaterialsFree Computer and I.T. Security TrainingAjax Ebooks and Learning DocumentsMany Java Ebooks from eSnips35 Free C and C++ Programming Books and Ebooks
Tags for this post>>
C++ Courses and Tutorials