C + + High quality Programming manual

Source: Internet
Author: User
Tags modifier

The Director of the administration urged me to read the book ....

Note has not been completed, continuous update chant.

The 1th chapter of high-quality software development
1.1 Basic concepts of software quality
1.1.1 How to understand the quality of software; functional and non-public energy
1.1.2 The basic method of improving the quality of software; making high-quality programs at once
1.1.3 "Zero defect" concept
1.2 Elaborate software quality attributes
1.2.1 Correctness; requirements within the scope of demand
1.2.2 Expansion requirements beyond robust demand 1 fault tolerance 2 recovery
1.2.3 Reliability Your average trouble-free time measurement
1.2.4 Performance Time-spatial efficiency optimized data structures, algorithms, code to improve, algorithmic complexity analysis,
1.2.5 user friendly, easy to use
Clarity of 1.2.6
1.2.7 Security
1.2.8 Scalability
1.2.9 compatibility
1.2.10 More advanced portability is better
1.3 People are not only concerned about quality
1.3.1 The relationship between quality, productivity and cost
1.3.2 Basic concept CMM for Software Process Improvement
1.4 Basic methods of high-quality software development
1.4.1 Establishing Software Process specification
1.4.2 Multiplexing
1.4.3 Divide and conquer
1.4.4 Optimization and compromise
1.4.5 Technical Review
1.4.6 Test
1.4.7 Quality Assurance
1.4.8 Change the wrong
1.5 Some common sense and thinking about software development
1.5.1 have the best programming language?
Is 1.5.2 programming an art?
Should 1.5.3 be used more skillfully when programming?
1.5.4 for faster computers or faster algorithms
Whether 1.5.5 errors should be graded
1.5.6 some wrong ideas.
1.6 Summary
The 2nd chapter of programming language development history
2.1 Programming language Milestones
The story of 2.2 Ada
2.3 C + + development history
2.4 Borland and Microsoft's contention
2.5 Java Camp vs. microsoft
2.6 Summary
The basic concept of the procedure in the 3rd Chapter
3.1 Programming languages
3.2 Language implementations
3.3 Program Library
3.4 Development environment
3.5 How the program works
3.6 Good programming habits, simple and low coupling.
The 4th Chapter C++/C Programming Introduction
Basic concepts of 4.1 c++/c program
4.1.1 Start function Main ()
4.1.2 Command-line arguments
4.1.3 Internal Name
4.1.4 Connection Specification
4.1.5 variable and its initialization
4.1.6 Cruntime Library
4.1.7 compile-time and run-time differences
4.1.8 compilation Unit and standalone compilation technology
4.2 Basic data types and memory images
4.3 Type conversions
4.3.1-Implicit conversion
4.3.2 Cast
4.4 Identifiers
4.5 Escape Sequences
4.6 operator
4.7 Expressions
4.8 Basic Control structure
4.9 selection (judging) structure
4.9.1 Boolean variable versus 0 value comparison
4.9.2 integer variable versus 0 value comparison
4.9.3 floating-point variable versus 0-value comparison
4.9.4 pointer variable compared to 0 value
4.9.5 Supplementary description of the IF statement
4.9.6 Switch Structure
4.10 cyclic (repeating) structure
4.10.1 loop control variable for statement
4.10.2 efficiency of loop statements
4.11 Principles of Structured programming
4.12 Goto/continue/break Statements
4.13 Example
5th Chapter C++/C Constants
5.1 Understanding Constants
5.1.1 Literal constants
5.1.2 Symbolic constants
5.1.3 of contractual constants
5.1.4 Enumeration constants
5.2 Correctly defining symbolic constants
Comparison of 5.3 Const and # define
Constants in the 5.4 class
5.5 How to define constants in practical applications
6th Chapter C++/C Function Design Foundation
6.1 Cognitive functions
6.2 Function prototypes and definitions
6.3 Function Call mode
6.4 Understanding the function stack
6.5 Function Invocation Specification
6.6 Function Connection Specification
6.7 Parameter passing rules
6.8 Rules for returning values
6.9 Rules for internal implementation of functions
6.10 Storage type and scope rules
6.10.1 Storage Type
6.10.2 Scope Rules
6.10.3 Connection Type
6.11 Recursive functions
6.12 using assertions
6.13 using const to improve the robustness of functions
6.13.1 parameters of the const modifier function
6.13.2 The return value of the const modifier function
7th Chapter C++/C pointers, arrays, and strings
7.1 Hands
The nature of the 7.1.1 pointer
7.1.2 types of pointers and their supported operations
7.1.3 Pointer passing
7.2 Arrays
The nature of the 7.2.1 array
7.2.22-dimensional array
7.2.3 Array passing
7.2.4 methods for dynamically creating, initializing, and deleting arrays
7.3 character arrays, character pointers, and strings
7.3.1-character array, string, and '% ' relationship
7.3.2-Character Pointer error
7.3.3 string Copy and comparison
7.4 Function pointers
7.5 Comparison of references and pointers
8th Chapter C++/C Advanced Data types
8.1 Structure (struct)
8.1.1 keyword struct and class puzzle
8.1.2 using structs
8.1.3-bit domain
8.1.4 Member Alignment
8.2 Union (Union)
8.3 Enumeration (enum)
8.4 Files
9th Chapter C++/C Compilation preprocessing
9.1 file contains
The 9.1.1 interior contains the Guardian whistle and the exterior contains the Guardian whistle
9.1.2 header files contain a reasonable order
9.2 Macro Definitions
9.3-piece compilation
9.3.1 #if, #elif和 #else
9.3.2 #ifdef and #ifndef
9.4 #error
9.5 #pragma
9.6 #和 # #运算符
9.7 Predefined Symbolic constants
10th Chapter C++/C File structure and program layout
10.1 Directory Structure of program Files
10.2 Structure of the file
10.2. Use and structure of 1 header files
10.2.2 Copyright and version information
10.2.3 Source file Structure
10.3 Layout of the code
10.3.1 appropriate blank line
10.3.2 lines of code and spaces within lines
10.3.3 Long Line split
10.3.4 Alignment and Indentation
The position of the 10.3.5 modifier
10.3.6 annotation Style
10.3.7 Adt/udt Layout
11th Chapter C++/C Application Naming conventions
11.1 Common rules
11.2 Simple Windows Application naming
Chapter 12th Overview of C + + object-oriented programming methods
12.1 ramble on object-oriented
12.2 Concepts of objects
12.3 Information hiding and encapsulation of classes
Inheritance characteristics of Class 12.4
Combination Characteristics of Class 12.5
12.6 Dynamic Characteristics
12.6.1 virtual function
12.6.2 abstract base class
12.6.3 Dynamic Binding
12.6.4 Run-time polymorphism
12.6.5 polymorphic Arrays
12.7 C + + object model
Memory image of the 12.7.1 object
12.7.2 implied members
12.7.3 how the C + + compiler handles member functions
12.7.4 how the C + + compiler handles static members
12.8 summary
Chapter 13th initialization, copying and destruction of objects
13.1 The origin of constructors and destructors
13.2 Why constructors and destructors are required
13.3 Member initialization list for constructors
13.4 Construction and destruction order of objects
13.5 Call timing for constructors and destructors
13.6 overloading of constructors and assignment functions
13.7 Example: Constructors and destructors for class string
13.8 when should the copy constructor and copy assignment function be defined
13.9 Example: copy constructor and copy assignment function for class string
13.10 Lazy way to deal with copy constructors and copy assignment functions
13.11 How to implement the basic functions of a derived class
Chapter 14th Advanced Features of C + + functions
14.1 Concept of function overloading
The origins of 14.1.1 overloads
How the 14.1.2 overloads are implemented
14.1.3 careful implicit type conversion causes overloaded functions to produce ambiguity
14.2 overloading, overwriting, and hiding of member functions
14.2.1 Overloading and overwriting
14.2.2 confusing hidden rules
14.2.3 get rid of hidden
14.3 Default values for parameters
14.4 Operator Overloading
14.4.1 Basic Concepts
The particularity of 14.4.2 operator overloading
14.4.3 operators that cannot be overloaded
14.4.4 Reload + + and--
14.5 function Inline
14.5.1 replacing macros with function inline
14.5.2 the programming style of the inline function
14.5.3 using inline
14.6 type conversion function
14.7 Const member function
The 15th Chapter C + + exception handling and Rtti
15.1 Why to use exception handling
15.2 C + + exception handling
The principle of 15.2.1 exception handling
15.2.2 exception types and Exception objects
Syntax structure of 15.2.3 exception handling
15.2.4 type matching rules for exceptions
15.2.5 exception description and its conflicts
15.2.6 how local objects are freed when an exception is thrown
15.2.7 exceptions during object construction and destruction
15.2.8 How to use good exception handling technology
15.2.9 standard exceptions for C + +
15.3 problems facing virtual functions
15.4 Rtti and its composition
15.4.1 origins
15.4.2 typeid operator
15.4.3 dynamic_cast<> operator
The charm and price of 15.4.4 Rtti
16th Chapter Memory Management
16.1 How to allocate memory
16.2 Common memory errors and their countermeasures
16.3 How the pointer parameter is passed in memory
16.4 Free and delete what's wrong with the pointer?
16.5 will the dynamic memory be released automatically?
16.6 eliminate "wild hands"
16.7 Why do you want to new/delete with Malloc/free?
Key points of use of 16.8 malloc/free
16.9 new is available in 3 ways
16.9.1 Plain New/delete
16.9.2 nothrow New/delete
16.9.3 Placement New/delete
Key points of use of 16.10 New/delete
16.11 How to run out of memory
16.12 Simulating pointers with objects
16.13 Generic Pointer auto_ptr
16.14 Smart pointer with reference count
16.15 Smart pointers as container elements
17th. Learn and use STL
17.1 STL Introduction
17.2 The distribution of STL header files
17.2.1 Container Class
17.2.2 Generic algorithm
17.2.3 iterators
17.2.4 Mathematical Operations Library
17.2.5 Universal Tools
17.2.6 Other header files
17.3 Principle of container design
17.3.1 Memory Image
17.3.2 storage mode and access mode
17.3.3 Comparison of sequential containers and associative containers
17.3.4 How to traverse a container
17.3.5 Storage space Redistribution problem
17.3.6 What kind of object can be an element of an STL container
17.4 iterators
The nature of the 17.4.1 iterator
Failure of 17.4.2 iterator and its danger
17.4.3 How to correctly delete elements during traversal of a container
17.5 Storage Allocator
17.6 Adapter
17.7 generic algorithm
17.8 some special containers
17.8.1 String Class
17.8.2 Bitset Not set
17.8.3 storage space-saving vectors
17.8.4 Empty Container
17.9 STL Container Features Summary
17.10 STL Usage Experience
Appendix A C++/C Questions
Appendix B c++/c question answers and scoring criteria
Appendix C University 10

C + + High quality Programming manual

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.