VOOZH about

URL: https://en.wikibooks.org/wiki/C%2B%2B_Programming

⇱ C++ Programming - Wikibooks, open books for an open world


Jump to content
From Wikibooks, open books for an open world
👁 Image
A printable version of C++ Programming is available. (edit it)
👁 Image
A PDF version is available. (info)
This book may need to be updated to reflect current knowledge.
The book contains description of old C++11 standard while there are newer C++14, C++17, C++20 and even C++23
You can help update it, discuss progress, or request assistance.

This book covers the C++ programming language, its interactions with software design and real life use of the language. It is presented in a series of chapters as an introductory prior to advance courses but can also be used as a reference book. This is an open work; if you find any problems with terms or concepts you can help by contributing to it; your participation is needed and welcomed! You are also welcomed to state any preference, shortcomings, vision for the actual book content, structure or other conceptual matters; see this Wikibook's discussion page for the right forum for participating.

If you have questions related to C++ that are not addressed on the book, ask at the Q&A or check
Subject:C++ programming language

A complete printable version of
C++ Programming
is available.
(attention to its size)


A single page version edit) with all chapters is available (attention to its size).
  1. Introducing C++ 👁 Development stage: 100%
  2. Programming languages 👁 Development stage: 100%
    1. Programming paradigms 👁 Development stage: 80%
      - the versatility of C++ as a multi-paradigm language, concepts of object-oriented programming (objects and classes, inheritance, polymorphism).
  3. Comparisons 👁 Development stage: 80%
    - to other languages, relation to other computer science constructs and idioms.
    1. with C 👁 Development stage: 80%
    2. with Java 👁 Development stage: 80%
    3. with C# 👁 Development stage: 30%
    4. with Managed C++ (C++/CLI) 👁 Development stage: 30%
    5. with D 👁 Development stage: 30%
  1. The code 👁 Development stage: 70%
    - includes list of recognized keywords.
    1. File organization 👁 Development stage: 80%
    2. Statements 👁 Development stage: 80%
    3. Coding style conventions 👁 Development stage: 80%
    4. Documentation 👁 Development stage: 80%
    5. Scope and namespaces 👁 Development stage: 90%
  2. Compiler 👁 Development stage: 70%
    1. Preprocessor 👁 Development stage: 100%
      - includes the standard headers.
    2. Linker 👁 Development stage: 70%
  3. Variables and storage 👁 Development stage: 90%
    - locality, scope and visibility, including source examples.
    1. Type 👁 Development stage: 90%
  4. Operators 👁 Development stage: 80%
    - precedence order and composition, , assignment, sizeof, new, delete, [] (arrays), * (pointers) and & (references).
    1. Logical operators 👁 Development stage: 70%
      - the && (and), || (or), and ! (not).
    2. Conditional operator 👁 Development stage: 70%
      - the ?:
  5. Type casting 👁 Development stage: 80%
    - Automatic, explicit and advanced type casts.
  6. Flow of control 👁 Development stage: 80%
    - Conditionals (if, if-else, switch), loop iterations (while, do-while, for) and goto.
  7. Functions 👁 Development stage: 70%
    - Introduction (including main), argument passing, returning values, recursive functions, pointers to functions and function overloading.
    1. Standard C Library 👁 Development stage: 70%
      - I/O, string and character, math, time and date, memory and other standard C functions
  8. Debugging 👁 Development stage: 80%
    - Finding, fixing, preventing bugs and using debugging tools.
  1. Structures 👁 Development stage: 70%
  2. Unions 👁 Development stage: 100%
  3. Classes 👁 Development stage: 70%
    (Inheritance, Member Functions, Polymorphism and this pointer)
    1. Abstract Classes 👁 Development stage: 60%
      including Pure abstract classes (abstract types)
    2. Nice Class 👁 Development stage: 80%
  4. Operator overloading 👁 Development stage: 80%
  5. Standard Input/Output streams Library 👁 Development stage: 60%
    1. string 👁 Development stage: 50%
  1. Templates 👁 Development stage: 80%
    1. Template Meta-Programming (TMP) 👁 Development stage: 60%
    2. Type Traits 👁 Development stage: 00%
  2. Concepts 👁 Development stage: 00%
  3. Standard Template Library (STL) 👁 Development stage: 60%
  4. Smart Pointers 👁 Development stage: 50%
  5. Exception Handling 👁 Development stage: 60%
  6. Run-Time Type Information (RTTI) 👁 Development stage: 60%
  1. Resource Acquisition Is Initialization (RAII) 👁 Development stage: 70%
  2. Garbage Collection (GC) 👁 Development stage: 80%
  3. Design patterns 👁 Development stage: 60%
    - Creational, Structural and Behavioral patterns.
  4. Libraries 👁 Development stage: 40%
    - APIs vs Frameworks and Static and dynamic libraries.
  5. Boost library 👁 Development stage: 50%
  6. Optimizing your programs 👁 Development stage: 60%
  7. Cross-platform development 👁 Development stage: 40%
    1. Win32 (aka WinAPI) 👁 Development stage: 30%
      - including Win32 wrappers.
    2. Cross-platform wrappers 👁 Development stage: 60%
    3. Multitasking 👁 Development stage: 70%
  8. Software internationalization 👁 Development stage: 10%
    1. Text encoding 👁 Development stage: 10%
  9. Unified Modeling Language (UML) 👁 Development stage: 60%


Appendix A: References Tables
(used on book chapters, print version excludes the Appendix)

Appendix B: External References

WeblinksBooks

Appendix C: C++ Programming by examples [ edit ]
(Compilable programs used on book chapters, print version excludes the Appendix)

Appendix D: C++ Programming - exercises [ edit ]
Supporting exercises for the book content.