c++ programming

วันอังคารที่ 11 สิงหาคม พ.ศ. 2552

C++ Programming/Editor's TOC

C++ Programming/Editor's TOC
From Wikibooks, the open-content textbooks collection
< C++ Programming
Current revision (unreviewed)
Jump to: navigation, search


Audience & Scope
[hide ▲]
Wikibook Charter
This book covers the C++ programming language, its interactions with software design and real life use of the language. Its presented as a introductory to advance course but can also be used as reference book. This is an open work, if you find any problems with terms or concepts you can help by contribute to it, your participation is needed and welcomed!. You are also welcome to state any preference, shortcomings or vision for the actual book content, structure or other conceptual matters, see this wikibook's discussion page for the right forum for participating.
Wikibook Development Stages
Sparse text
Developing text
Maturing text
Developed text
Comprehensive text:

Chapters/Pages needing work
Linker - Complete Internal linkage and External linkage information (remember to mention static, extern, unnamed namespaces and link to the relevant sections). File Organization - Add reference to over .cpp .h, common rules to file naming and code distribution.The compiler- some TODOs to be cleanedI/O Streams- some TODOs to be cleaned, "safe bool" idiom can probably be more clear or have linking to other relevant information if available.Assignment and Operators- some hevy duty cleanup needed and removing of references and a simpler as possible introduction to operator overloading needed, pointing to the complete information already present on the book.Data Type StorageClass/Inheritance- Multiple inheritance still need some work and example.Class/Interface class- Add description and give an example.C++ Programming/Classes- Possible rename to code/?/class (proper link to keyword table, good idea) restructure class members (data and function) and children pages, note that static is at present inside function members and talks on static data members...Language Comparisons- include information on how and that C++ can to use embedded ASM code.Programming ParadigmsAbstract ClassesPure Abstract ClassesTemplate meta-programming (TMP)C++ Programming/RAIIUsing Static Libraries- anyone willing to make add an example with a free IDE/Compiler ? (it is all its missing)Type Casting- implicit conversions missing.Unified Modeling Language (UML)- remove wikipedia link and tie the text more with the C++ subject, (text also includes introduction to Modeling Tools and CASE).Encapsulation- try to demonstrate in the example how exposing data members can damage another part of the programSTL- still missing to much info (some text on functors), see the other pages on the chapter string, I/O Streams.Win32 - Windows API, only the basic is there, there is a Windows Programming book probably reference or move some content there (they don't want C++ content).C++ Programming/Code/Scope- introduction to the concept of scope/context with references to the further insight and practical usefulness in sections like Namespaces, class space and flow control structures.C++ Programming/Threading- needs some content on Fibers, OpenMP, Inter-Process Communication (IPC), Threads, Critical Section, Synchronizing on Objects etc...
Orphans needing attentionThese pages are not linked to by this book. Please link to them, merge them into existing pages and mark them with {{now mergeddestination page}}, or if they are not desired mark them with {{deletereasoning}}. Thanks.
C++ Programming/Arrays
C++ Programming/Chapter Standard Library Print version
C++ Programming/Enumerations
C++ Programming/Example Using User Input
C++ Programming/Getting Started
C++ Programming/Multi-Paradigm
C++ Programming/Variables & Intro to Control Statements for C++
-- Adrignola talk contribs 22:43, 4 August 2009 (UTC)
[ edit list above ]
See if you can answer some questions related to C++ or point users to where they are addressed in the book on Q&A.

A printable version of C++ Programming is available. for the book Content (edit it)
Go to:
v1 Contents >>
v2 Contents >>
See:
Conventions >>
All pages >>

Missing contents
System Resources
Quick introduction to the Computer architecture (CPU, memory, registers, filesystem).
mention stack, heap their use and simple examples, remember to refer them in debugging to.
Portability
common issues, pitfalls, mistakes in writing portable code and solutions.
Random number generators
introduction, mention language default resources for the task and known alternatives.
CRC Cards
Introduction to CRC Cards
POSIX
C++ and POSIX
POSIX Threads
From 32 to 64 bits
mention Parkinson's law
Source ControlFunctors (class type functor)Functors (template type functor)Creating LibrariesConstraintsUnit Testing
[ edit list above ]

To be merged
Please add here pages that are not linked to from anywhere in this book (but have to be merged or marked for deletion). (This may also be of interest: Transwiki:Type conversion.)...
C++ Programming/ctype.h headerProcedural idioms in C++Memory Management - new, delete, smart pointers, Garbage Collection and RAII, Comparison to C, Common MistakesC++ Programming/Memory Management TechniquesC++ Programming/Chapter Learning the BasicsC++ Programming/Lost Bits
[ edit list above]]

ป้ายกำกับ: , ,

C++ Programming/TOC2

From Wikibooks, the open-content textbooks collection
< C++ Programming
Current revision (unreviewed)
Jump to: navigation, search

A discussion on the possible deletion of this page occured at this location. The result was no votes.
C++ Programming
[hide ▲]

Wikibook Charter
This book covers the C++ programming language, its interactions with software design and real life use of the language. Its presented as a introductory to advance course but can also be used as reference book. This is an open work, if you find any problems with terms or concepts you can help by contribute to it, your participation is needed and welcomed!. You are also welcome to state any preference, shortcomings or vision for the actual book content, structure or other conceptual matters, see this wikibook's discussion page for the right forum for participating.
v1 Contents >> and Editor's TOC >>

[edit] Introduction to Programming
Introduction - History of C++, program organization and programming paradigms.
Tools for Programming - Compiler, Translator, Linker, Loader, Debugger, Preprocessor

[edit] C++ Language Essentials
Variables - Declaration, assignment, scope, visibility and primitive types.
Flow Control - Conditionals, loop iterations and more.
Functions - Arguments, return values, recursive functions, function pointers and overloading.
Operators - Types, precedence order and composition.
Pointers
Memory Management
Internal Variable Storage - bits and bytes, data versus variables, two's complement, endian and floating point.
Typecasting - Automatic, explicit and advanced type casts and conversions.
Structures and Classes
Unions
Operator Overloading
Inheritance - Base, parent, child and multiple inheritance concepts.
Polymorphism - Virtualization and abstraction.
Templates
Runtime Type Information (RTTI)
Exception Handling
Namespaces

[edit] Standard Library
Standard Template Library (STL)
String class
Stream classes

[edit] Beyond the Standard
Debugging - Finding, fixing, preventing bugs and using debugging tools.
Coding Style Conventions - Comments, identifier names, indention, code blocks and more.
Documentation
Libraries - About libraries and extra libraries used everyday.
Multithreading
Introduction to design patterns
Optimizing Your Programs

[edit] Appendices
Glossary
Cheat Sheet
Keywords
Standard Headers
Preprocessor Directives
Operators Table
Variable Types
Examples
Resources - Various C++ websites, compilers, libraries, forums and online books, etc.
Books
Retrieved from "http://en.wikibooks.org/wiki/C%2B%2B_Programming/TOC2"

ป้ายกำกับ: , , ,

C++ Programming/TOC1

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

About the book [ edit ]
A single page version with all chapters is available (attention to its size).

A printable version of C++ Programming is available. for the book Content (edit it)
You can use WikiType an online application which converts the WikiBooks into formatted PDF. With no source highlight.Use the link for the single page version version of the work (or any of the by Chapter print versions).
Foreword
Authors

Getting Started [ edit ] [ print chapter ]
Introducing C++
Programming languages
Programming paradigms - the versatility of C++ as a multi-paradigm language, concepts of Object-Oriented Programming.
Comparisons - to other languages, relation to other computer science constructs and idioms.
with C
with Java
with C#
with Managed C++ (C++/CLI)
with D

Fundamentals [ edit ] [ print chapter ]
Code
File organization
Statements
Coding style conventions
Documentation
Internal storage of data types
Variables - An introduction with source examples.
Scope - with source examples.
Namespace
Compiler - Introduction and installation, including a list of recognized keywords and directives.
Preprocessor - includes the standard headers.
Linker
Operators - with a brief mention of operator overloading.
Logical
Conditional
Type casting - Including Automatic, explicit and advanced type casts.
Flow of control - Conditionals, loops and goto.
Functions - An introduction including argument passing, returning values, recursive functions, pointers to functions and function overloading.
Standard C Library
Debugging - Detection, correction and prevention of bugs.

Object-Oriented Programming [ edit ] [ print chapter ]
Structures
Unions
Classes
Abstract Classes including Pure abstract classes (abstract types)
Nice Class
Operator overloading

Advanced Features [ edit ] [ print chapter ]
I/O
string
Streams
Standard Template Library (STL)
Smart Pointers
Exception Handling
Templates
Template Meta-Programming (TMP)
Run-Time Type Information (RTTI)

Beyond the Standard (In the real world) [ edit ] [ print chapter ]
Resource Acquisition Is Initialization (RAII)
Design Patterns
Libraries
APIs and Frameworks
Static and Dynamic Libraries
Garbage Collection
Boost Library
Cross-Platform Development
Win32 (aka WinAPI) - including Win32 Wrappers.
Cross Platform Wrappers
Multitasking
Software Internationalization
Text Encoding
Optimizing Your Programs
Unified Modeling Language (UML)

Appendix A: References Tables (used in book)
Keywords Preprocessors Directives Standard Headers Data Types Operators Standard C Library Functions

Appendix B: External References (used in book)
WeblinksBooks

Appendix C: Source Code Examples (used in book) [ edit ]
Compilable Example Programs
Simple "Hello World"
Confusing Scope
Average ( same program rewritten using a class )
Complicated Scope (v1 - v2 - v3)
Namespaces
Storing two values in integer variables (v1 - v2)
Using a Class
Displays a string (v1 - v2 - v3)

Appendix D: Exercises
Variables and types (5 exercises)
Iterations (20 exercises)
Static arrays (5/15 exercises)
Functions
The Standard IO Stream

ป้ายกำกับ: , ,

C++ Programming

From Wikibooks, the open-content textbooks collection
Jump to: navigation, search
The following three are three different books as a result of edit and admin wars.
C++ Programming/TOC1
C++ Programming/TOC2
C++ Programming/Editor's TOC
For other C++ books with different focuses, see the Subject:C++ programming language page.

ป้ายกำกับ: , ,

The C++ Programming Language

Advice of the day(from TC++PL)23.7[28] Always consider alternative representations for a class. If no alternative representation is plausible, the class is probably not representing a clean concept; sec23.4.3.4.
FAQ of the dayC++ got its Object-Oriented concepts from Smalltalk?
Article of the daySibling rivalry: C and C++. AT&T Labs - Research Technical Report. TD-54MQZY. January 2002. C++ is a general purpose programming language with a bias towards systems programming that
is a better C
supports data abstraction
supports object-oriented programming
supports generic programming.
I (Bjarne Stroustrup) am the designer and original implementor of C++. You can find the language, the techniques for using it, and the techniques for implementing it described in my books, my papers, in hundreds of books by others, and thousands of papers by others. There are far too many to list. Try a bookstore or a library. Answers to many questions about C++ can be found in
my FAQ,
my C++ Style and Technique FAQ
my C++ glossary, and
some interviews that I have given.
Topics:
Learning and teaching C++
The ISO C++ standard
Applications, compilers, etc.
Embedded systems
Libraries, etc.
C++ GUI libraries and tools
C++ design and history
General resources
Collections of articles
Related
The ISO C++ Standard: C++ is standardized by ISO (The International Standards Organization) in collaboration with national standards organizations, such as ANSI (The American National Standards Institute), BSI (The British Standards Institute), DIN (The German national standards organization). The original C++ standard was issued in 1998, a minor revison in 2003, and the work on the next standard "C++0x" is nearing completion.
An almost complete C++98 standard
The draft C++0x standard
My C++0x FAQ.
The ISO C++ standards committee (WG21) maintains an official site with information about the current state of the standards effort.
My book The Design and Evolution of C++ describes the standards process and many of the design decisions made
My book The C++ Programming Language (Special Edition) describes C++ as defined by the ISO standard.
The standard committee's technical report on implementation issues and programming techniques related to performance. This should be of particular interest to programmers of embedded systems.
The standard committee's technical report on library extensions that are likely to become part of C++0x (possibly after some revisions).
My foreword to the printed version of the C++ standard.
An 2004 evolution working group wish list; that is, the list of suggested additions to the C++ core language - note that only a fraction of these will be accepted into C++0x. Here is the current state of the evolution proposals.
A standard library wishlist maintained by Matt Austern.
a press release about C++ and its 1998 standard intended for non-programmers
a press release about the availability of the 1998 standard
The standard is ISO/IEC 14882; it is available for downloading from the National Committee for Information Technology Standards Electronic Store. The cost is (as I write this) US$18.00 payable on-line via credit card. It is available as a book (on paper): "The C++ Standard", published by Wiley, ISBN 0 470 84674-7.
Discussions about C++ and its use can be found in most forums covering programming. The usenet groups comp.lang.c++.moderated and alt.comp.lang.learn.c-c++ are good examples. These groups can be accessed in various ways including Google Groups (sort by date).
Applications, compilers, etc.:
A list of interesting C++ applications. I welcome suggestions for additions.
A list of major industry applications and tools with evolution paths by Vincent Lextrait.
An incomplete list of C++ compilers.
Hans-J. Boehm's site for C and C++ garbage collection and a couple of sites offering collectors based on his work (University of Tokyo, geodesic.com).
Test suites are available for C++. For example: Plumhall and Perennial.
Libraries, etc.:
A list of available C++ libraries known as the C++ libraries FAQ.
Boost.org: A repository for libraries meant to work well with the C++ standard library.
STLab: a collection of peer-reviewed and portable C++ source libraries, leveraging and extending both the C++ Standard Library and the Boost Libraries. That page also contains links to Adobe open source libraries, such as the Generic Image Library GIL.
Doug Schmidt's site with information about a lot of things including the ACE framework and the TAO real-time ORB.
High-performance numerical libraries provide excellent tests for interesting new programming techniques: The Object-Oriented Numerics Page is a list of libraries, projects, and mailing lists. For example: POOMA from LANL, Blitz++ from U. of Waterloo, MTL from Indiana Univarsity, and ROOT from CERN. These libraries, and many more, are available for downloading.
SGI's implementation of the STL.
Dinkumware's online standard library reference.
Rogue Wave's online documentation of an implementation of the standard library.
C++ design and history:
1991-2006: Evolving a language in and for the real world: C++ 1991-2006.
1979-1991: My paper about C++'s design and early years.
A more comprenensive book: The Design and Evolution of C++.
The Computer History Museum's site for early C++ sources (code, documentation, papers, etc.).
An old, but unfortunately not completely irrelevant, net posting answering some unfair criticisms of C++.
C++ GUI libraries and toolkits:
FLTK.
gtkmm.
Qt.
WxWidgets.
and many more.
Embedded systems:
A confence paper on the basic ideas of using C++ in embedded systems.
JSF++: The JSF air vehicle C++ coding standards.
The ISO C++ committee's TR on performance.
FAQs:
My FAQ.
My C++ Style and Technique FAQ.
My C++0x FAQ.
Marshall Cline's C++ FAQ.
C++ Standards FAQ containing many valuable links (including some to implementations of the standard library).
The learn.c-c++ newsgroup FAQ presents much information of use for C and/or C++ novices.
Learning and teaching C++:
My beginner's programming text book Programming: Principles and Practice using C++.
A list of resources for people learning C++ from The Cambridge University Engineering Department.
An extensive collection of book reviews can be found on the ACCU (The Association of C and C++ Users) site.
General resources:
C++.org; a C++ community site associated with ACCU.
A list of C++ resources such as libraries, implementations, books, FAQs, other C++ pages, etc..
A large (18,000+) collection of links to information on OO, OOP languages, etc. called Cetus.
A catalog of C++ links from Forschungszentrum Julich.
David Tribble's paper listing incompatibilities between C++ and C99.
Greg Comeau's C++ related site in New York.
Brad Appleton's collection of C++ and OOP links.
The C++ section of the open directory project.
A C++ idioms list.
Collections of articles:
Herb Sutter's collection of articles focussing on how to learn and use Standard C++ in a modern style.
Kevlin Henneys' collection of thought provoking and useful articles about good C++ design and style.
Artima's C++ source has a collection of C++ articles, columns, etc.
Danny Kalev's C++ articles and news items on informIT.com.
Videos:
A C++0x talk given at University of Waterloo. Google, NYC. August 2007.
A talk on C++0x initializer lists given at Google, Mountainview. February 2007.
Several videos, audio recordings, and transcripts of talks, panels, and interviews from Dr. Dobb's Technetcast archieves.
Related:
Dennis Ritchie's homepage containing lots of interesting information about the history of C, Unix, and (AT&T) Bell Lab's computer science research center (where C++ was born).
The Computer History Museum's Software Preservation Group's collection of C++ sources currently focusing on the early years. Contributions are most welcome (see the site for details).

ป้ายกำกับ: , ,

C and C++ Programming [link]

Free C/C++ Books - links to free C and C++ programming books that can be read online or downloaded.
Free C/C++ Compilers - links to free C and C++ compilers and interpreters including Borland's 5.5 compiler, the DJGPP compiler, Dev C++ from Bloodshed software, and many more.
C Tutorials - links to free C programming tutorials online and a downloadable tutorial.
C++ Tutorials - links to free online and downloadable C++ tutorials from beginner to advanced.
C++ Graphics Tutorials - Free Graphics tutorials for the C++ programming language.
C++ Programming Libraries - Free Programming libraries for the C++ programming language.
C/C++ FAQS - links to free c/c++ FAQs and resources including the hompages of the designers of both languages.
Visual C++ Tutorials - links to free online and downloadable Visual C++ tutorials from beginner to advanced.
Free C++ IDEs - links to free C++ Integrated Development Environments that many of the free compilers are lacking.
Free C/C++ Source Code - links to online repositories of free C and C++ source code, including Mozilla source code, and the code for Hexen and Heretic.
C/C++ Forums - links to free C and C++ forums and discussion boards.
Programming Libraries - this is a new section dedicated to programming libraries in all languages, but most are C++ and many come with source code. Categories include sockets, encryption, gaming, compression, grahpics and gui libraries and frameworks.
Related: IDEs and Programmer Editors

ป้ายกำกับ: , , ,

C and C++ Programming

C++ Programming Language Tutorials
C++ Network Programming: Resolving Complexity with ACE & Patterns
Pattern-Oriented Software Architecture
These tutorials were developed as part of a series of courses on C++ I taught at the University of California, Irvine, Washington University, St. Louis, and Vanderbilt University. I'm making these tutorials available on the Web for anyone who is interested in teaching or learning about C++. Other tutorials on C++ are available at http://www.cpp-home.com". Discussions about C and C++ are available at http://www.cfanatic.com/
The handouts on this page are stored in PDF 4-up on a page. Eric S Rosenthal has donated a perl script that converts the 4-up handouts to 1-up handouts. Please let me know if you find any bugs or typos in the handouts and I'll fix them.
Lectures Handouts
Overview of the C-portions of C++ (e.g., loops, structs, arrays, basic data types, etc.)
A quick tour through C++, focusing primarily on classes, templates, inheritance, and dynamic binding.
An extensive tour through C++ language features, illustrating the major and minor differences compared with C.
An in-depth look at defining abstract data types in C++, focusing primarily on classes, templates, and exception handling.
An in-depth look at C++ single and multiple inheritance.
An in-depth look at C++ dynamic binding.
An in-depth look at pointer-to-member functions in C++.
An overview of dynamic memory management in C++.
A brief overview of how to define container classes in C++.
Traps and pitfalls of using C++ and how to workaround them.
A set of simple examples that illustrate basic features of the language
More sophisticated examples illustrating advanced features of C++ and design patterns

thanks;http://www.cse.wustl.edu/~schmidt/C++/

ป้ายกำกับ: ,