]]= (right shift and assign operator), 1237
]]}(right shift operator), 1236
:: (scope resolution operator), 467, 514, 1332,
; (semicolon), 29–30
- (subtraction operator), overloading, 574–578
~ (tilde), 529
_ (underscore), 1222
A
ABCs (abstract base classes), 746–749
ABC philosophy, 756
AcctABC example, 749–751, 754–755
enforcing interface rules with, 757
abort() function, 897–898, 928–930
abstract data types (ADTs), 552
abstraction, 507.
access control, 892
access control (classes), 511–513
accessing
content of template and parameter packs, 1198–1199
strings, 1259
AcctABC class, 749–751, 754–755
acctabc.cpp, 751
acctabc.h, 750
accumulate() function, 1320
acquire() function, 516
actual arguments, 314
adaptable binary functions, 1035
adaptable binary predicate, 1035
adaptable functors, 1032
adaptable generators, 1035
adaptable predicate, 1035
adaptable unary functions, 1035
adapters, 1002
adding vectors, 590
addition operator (+), overloading, 569–572
addpntrs.cpp, 167
address.cpp, 154
addresses
addresses of functions, obtaining, 362
of arrays, 170
structure addresses, passing, 351–353
adjacent_difference() function, 1321–1322
adjacent_find() function, 1287, 1290
ADTs (abstract data types), 552–557
algorithms, 1035
copying, 1036
groups, 1035–1036
in-place, 1036
properties, 1036–1037
aliases
creating, 230
declarations, 1157
namespaces, 491
align.cpp, 1246
alignof() operator, 1204
allocating memory, 968
bad_alloc exceptions, 921
dynamic memory allocation, 757
derived class does use new, 758–760
derived class doesn’t use new, 757–758
example, 761–766
new operator, 160–162
allocators, 979
alternative tokens, table of, 1222
American National Standards Institute (ANSI), C++ standard, 16
American Standard Code for Information Interchange.
ampersand (&), 1239–1240
logical AND operator (&&), 262
alternative representations, 270
example, 263–265
precedence, 269–270
ranges, 265–267
reference operator (&), 383–386
AND operators
bitwise AND (&), 1239–1240
logical AND (&&), 262
alternative representations, 270
example, 263–265
precedence, 269–270
ranges, 265–267
and.cpp, 263–264
angle brackets, 1162
anonymous unions, 150
ANSI (American National Standards Institute), C++ standard, 16
ANSI C Standard Input/Output, 1062
append() method, 1265
append.cpp, 1125
appending
data to files, 1125–1127
strings, 133–134, 1265–1266
applications.
creating, 18–19
portability, 15, 17–18
ANSI/ISO standard, 16
limitations, 16
source code, 19
file extensions, 20
apply() method, 1046
Area() method, 748
args, 1198
argument lists, 30
arguments, 31
arrays, 322–325
C-style strings, 339–341
command-line, 1119–1120
default arguments, 409–412
formal/actual, 314
multiple, 314–320
n_chars() example, 314–317
probability() example, 318–320
parameters, 314
passing by reference, 386, 389–390
passing by value, 313–314
reference arguments, 392–394, 408–409
two-dimensional arrays, 337–339
type conversions, 106
arguments (functions), 49, 53
arith.cpp, 98
arithmetic, pointers, 167–172
arithmetic operators, 97–99
associativity, 99–100
division (/), 100–101
functor equivalents, 1031–1032
modulus (%), 101–102
order of precedence, 99–100
overloading
addition operator (+), 569–572
multiplication operator (*), 574–578, 600
subtraction operator (-), 574–578
vector class, 599–600
array notation, 173
array objects, 355
fill function, 357
versus arrays, 188–189