19 | Preprocessor | 1053 |
19.1 | Introduction | 1054 |
19.2 | The #include Preprocessor Directive | 1054 |
19.3 | The #define Preprocessor Directive: Symbolic Constants | 1055 |
19.4 | The #define Preprocessor Directive: Macros | 1056 |
19.5 | Conditional Compilation | 1057 |
19.6 | The #error and #pragma Preprocessor Directives | 1058 |
19.7 | The # and ## Operators | 1059 |
19.8 | Line Numbers | 1059 |
19.9 | Predefined Symbolic Constants | 1060 |
19.10 | Assertions | 1060 |
20 | C Legacy Code Topics | 1065 |
20.1 | Introduction | 1066 |
20.2 | Redirecting Input/Output on UNIX and DOS Systems | 1066 |
20.3 | Variable-Length Argument Lists | 1067 |
20.4 | Using Command-Line Arguments | 1070 |
20.5 | Notes on Compiling Multiple-Source-File Programs | 1071 |
20.6 | Program Termination with exit and atexit | 1073 |
20.7 | The volatile Type Qualifier | 1075 |
20.8 | Suffixes for Integer and Floating-Point Constants | 1075 |
20.9 | Signal Handling | 1075 |
20.10 | Dynamic Memory Allocation with calloc and realloc | 1078 |
20.11 | The Unconditional Branch: goto | 1079 |
20.12 | Unions | 1080 |
20.13 | Linkage Specifications | 1084 |
21 | Standard Template Library (STL) | 1090 |
21.1 | Introduction to the Standard Template Library (STL) | 1092 |
21.1.1 | Introduction to Containers | 1094 |
21.1.2 | Introduction to Iterators | 1098 |
21.1.3 | Introduction to Algorithms | 1103 |
21.2 | Sequence Containers | 1105 |
21.2.1 | vector Sequence Container | 1105 |
21.2.2 | list Sequence Container | 1113 |
21.2.3 | deque Sequence Container | 1117 |
21.3 | Associative Containers | 1119 |
21.3.1 | multiset Associative Container | 1119 |
21.3.2 | set Associative Container | 1122 |
21.3.3 | multimap Associative Container | 1124 |
21.3.4 | map Associative Container | 1126 |
21.4 | Container Adapters | 1128 |
21.4.1 | stack Adapter | 1128 |
21.4.2 | queue Adapter | 1130 |
21.4.3 | priority_queue Adapter | 1132 |
21.5 | Algorithms | 1133 |
21.5.1 | fill, fill_n, generate and generate_n | 1134 |
21.5.2 | equal, mismatch and lexicographical_compare | 1136 |
21.5.3 | remove, remove_if, remove_copy and remove_copy_if | 1138 |
21.5.4 | replace, replace_if, replace_copy and replace_copy_if | |
21.5.5 | Mathematical Algorithms | 1144 |
21.5.6 | Basic Searching and Sorting Algorithms | 1148 |
21.5.7 | swap, iter_swap, and swap_ranges | 1150 |
21.5.8 | copy_backward, merge, unique and reverse | 1152 |
21.5.9 | inplace_merge, unique_copy and reverse_copy | 1154 |
21.5.10 | Set Operations | 1156 |
21.5.11 | lower_bound, upper_bound and equal_range | 1160 |
21.5.12 | Heapsort | 1162 |
21.5.13 | min and max | 1165 |
21.5.14 | Algorithms Not Covered in This Chapter | 1166 |
21.6 | Class bitset | 1168 |
21.7 | Function Objects | 1172 |
21.8 | STL Internet and Web Resources | 1175 |