automatic variables, 455–459
scope and linkage, 454
static variables, 459–463, 466–472
storage methods, 182
memory allocation, dynamic (auto_ptr class), 969, 973–975
memory leaks, 163
merge() function, 1305, 1310–1311
merge() method, 1016–1017, 1280
merging
inplace_merge() function, 1305, 1311
merge() function, 1305, 1310–1311
methods.
base-class methods, accessing, 800–801
defaulted and deleted methods, classes, 1179–1180
end(), 984
inheritance, multiple, 826
insert(), 1015–1016
STL, 1161
virtual base classes, 818–828
MI (multiple inheritance), 798
min() function, 1305, 1316
min() method, 787, 1046
minimum values
finding 1316–1317
minus sign (-), decrement operator (—), 207–208
pointers, 210–211
postfixing, 209–210
prefixing, 209–210
min_element() function, 1305, 1317
mismatch() function, 1288, 1291
mixtypes.cpp, 185
models, concepts of iterators, 1000–1001
modifiers
const, as alternative to #define, 1327–1329
inline, as alternative to #define, 1329–1330
modulus operator (%), 101–102
modulus.cpp, 102
morechar.cpp, 82
more_and.cpp, 266
move assignment operator, 1173
move constructors, 1165
move semantics, 1164–1171
observations, 1171–1172
Move() method, 748
moves, forcing, 1173–1178
MS-DOS, gpp compiler, 22
multifile programs, compiling separately, 447–453
multimap associative containers, 1023–1025
multiple arguments, 314–320
n_chars() example, 314–317
probability() example, 318–320
multiple class representations, 599
multiple inheritance, 798, 808–809, 829–830
virtual base classes, 815–817
combining with nonvirtual base classes, 828
constructors, 817–818
dominance, 828–829
methods, 818–828
Worker class example, 810–814
multiple library linking, 453
multiple public inheritance, methods, 826
multiple type parameters, 847
multiplication operator (*), overloading, 574–578
multisets, set operations
includes() function, 1311
set_difference() function, 1313
set_intersection() function, 1312
set_union() function, 1312
multmap.cpp, 1024–1025
mutable keyword, 472–473
mutating sequence operations
copy() function, 1293–1296
copy_backward() function, 1294–1297
fill() function, 1294, 1299
fill_n() function, 1294, 1299
generate() function, 1294, 1299
generate_n() function, 1294, 1299
iter_swap() function, 1294
partition() function, 1295, 1302–1303
random_shuffle() function, 1295, 1302
remove() function, 1295, 1299
remove_copy() function, 1295, 1300
remove_copy_if() function, 1295, 1300
remove_if() function, 1295, 1300
replace() function, 1294, 1298, 1302
replace_copy() function, 1294, 1298
replace_copy_if() function, 1294, 1298
replace_if() function, 1294, 1298
reverse() function, 1295
reverse_copy() function, 1295, 1301
rotate() function, 1295, 1301
rotate_copy() function, 1295, 1302
stable_partition() function, 1295, 1303
swap() function, 1294, 1297
swap_ranges() function, 1294, 1297
transform() function, 1294, 1297
unique() function, 1295, 1300
unique_copy() function, 1295, 1301
myfirst.cpp program, 27–29
comments, 32–33
header filenames, 34
iostream file, 33–34
main() function, 29–30
calling, 30
importance of, 32
int main() header, 30–31
namespaces, 35–36
output, displaying with cout, 36
endl manipulator, 37–38
\n newline character, 38–39
source code formatting, 39
source code style, 40
tokens, 39
white space, 39
mytime0.h, 566
mytime1.cpp, 569–570
mytime1.h, 569
mytime2.cpp, 575
mytime2.h, 575
N
name decoration, 418
name mangling, 418
named memory, 160
names
aliases, creating, 230
array names, 172
function qualified names, 514
function unqualified names, 514
name decoration, 418
namespace aliases, 491
reserved names, 1222–1223
namesp.cpp, 493–494
namesp.h, 493
namespace keyword, 483–486
namespace scope, 454
namespaces, 35–36, 482–483, 1331–1333
aliases, 491