Foreword

This book covers the C++ programming language, its interactions with software design and real life use of the language. It is presented as an introductory to advance course but can be used as a reference book.

If you are familiar with programming in other languages you may just skim the Getting Started Chapter. You should not skip the Programming Paradigms Section, because C++ does have some particulars that should be useful even if you already know another Object Oriented Programming language.

The Language Comparisons Section provides comparisons for some language(s) you may already know, which may be useful for veteran programmers.

If this is your first contact with programming then read the book from the beginning. Bear in mind that the Programming Paradigms section can be hard to digest if you lack some experience. Do not despair, the relevant points will be extended as other concepts are introduced. That section is provided so to give you a mental framework, not only to understand C++, but to let you easily adapt to (and from) other languages that may share concepts.

Guide to readers

This book is a Wikibook (en.wikibooks.org), an up-to-date copy of the work is hosted there.

It is organized into different parts, but as this is a work that is always evolving, things may be missing or just not where they should be, you are free to become a writer and contribute to fix things up...

Reader comments

If you have comments about the technical accuracy, content, or organization of this document, please tell us (e.g. by using the "discussion" pages or by email). Be sure to include the section/title of the document with your comments and the date of your copy of the book. If you are really convinced of your point, information or correction then become a writer (at Wikibooks) and do it, it can always be rolled back if someone disagrees.

Guide to writers

Authors/Contributors should register if intending to make non-anonymous contributions to the book (this will give more value and relevance to your opinions and views on the evolution of the work and enable others to talk to you). Be bold and try to follow the structure. If you have major ideas or big changes use the discussion area; as a rule just go with the flow.

Conventions
A set of conventions have been adopted for the construction of this book, please read about them before you contribute any content.