const
object, 460
delete
, 460
factory
program, 461
initialization, 459
lifetime, 450
new
, 458
order of destruction
class type object, 502
derived class object, 627
multiple inheritance, 805
virtual base classes, 815
order of initialization
class type object, 289
multiple inheritance, 804
virtual base classes, 814
object code, 252
object-oriented programming, 650
oct
, manipulator, 754
octal, literal (0
num), 38
octal escape sequence (\
nnn), 39
off-the-beginning iterator, 351, 373
before_begin
, 351
forward_list
, 351
off-the-end
iterator range, 331
pointer, 118
see also
ostream
close
, 318
file marker, 765
file mode, 319
initialization, 317
off_type
, 766
open
, 318
pos_type
, 766
random access, 765
random IO program, 766
old-style, cast, 164
open
, file stream, 318
conversion, 159
operator alternative name, 46
operator delete
class member, 822
operator delete[]
class member, 822
compared to
deallocate
, 823
global function, 820
operator new
class member, 822
operator new[]
class member, 822
compared to
allocate
, 823
global function, 820
operator overloading, see overloaded operator
arithmetic, 139
bitset
, 725
comma (
,
), 157
compound assignment, 12
conditional (
?:
), 151
input, 8
iterator
addition and subtraction, 111
arrow, 110
dereference, 107
increment and decrement, 107
relational, 111
logical, 141
member access, 150
noexcept
, 780
output, 7
overloaded, arithmetic, 560
pointer
addition and subtraction, 119
equality, 120
increment and decrement, 118
subscript, 121
Sales_data
+=
(compound assignment), 564
+
(addition), 560
==
(equality), 561
!=
(inequality), 561
>>
(input operator), 558
<<
(output operator), 557
Sales_item
, 20
scope, 82
sizeof
, 156
sizeof...
, 700
string
addition, 89
equality and relational, 88
IO, 85
subscript, 116
vector
equality and relational, 102
options to main
, 218
order of destruction
class type object, 502
derived class object, 627
multiple inheritance, 805
virtual base classes, 815
&&
(logical AND), 138
||
(logical OR), 138
,
(comma operator), 138
?:
(conditional operator), 138
expression, 137
pitfalls, 149
order of initialization
class type object, 289
derived class object, 598
multiple base classes, 816
multiple inheritance, 804
virtual base classes, 814
see also container
see also associative container
key_type
requirements, 425
lower_bound
, 438
override default comparison, 425
upper_bound
, 438
ordering, strict weak, 425, 448
OrQuery
, 637
class definition, 644
eval
function, 645
see also manipulator
<<
(output operator), 7
precedence and associativity, 155
chained output, 7
condition state, 312
explicit
conversion tobool
, 583
file marker, 765
floating-point notation, 757
flushing output buffer, 314
format state, 753
no copy or assign, 311
not flushed if program crashes, 315
off_type
, 766
output format, floating-point, 755
pos_type
, 766
precision
member, 756
random access, 765
random IO program, 766
tie
member, 315
virtual base class, 810
write
, 763
<<
(output operator), 405
algorithms, 404
initialization, 405
operations, 405
type requirements, 406
ostringstream
, 311, 321, 321–323
see also
ostream
file marker, 765
initialization, 321
off_type
, 766
phone number program, 323
pos_type
, 766
random access, 765
random IO program, 766
str
, 323
out
(file mode), 319
out-of-range value, signed
, 35
out_of_range
, 197
at
function, 348
out_of__stock
, 783
output, standard, 6
overflow, 140
overflow_error
, 197
overhead, function call, 238
overload resolution, see function matching
overloaded function, 230, 230–235, 252
see also function matching
as friend, 281
compared to redeclaration, 231
compared to template specialization, 708
const
parameters, 232
constructor, 262
linkage directive, 860
member function, 273
const
, 276
move-enabled, 545
reference qualified, 547
virtual, 621
move-enabled, 545
namespace, 800
pointer to, 248
scope, 234
derived hides base, 619
using
declaration, 800
in derived class, 621
using
directive, 801
overloaded operator, 135, 169, 500, 550, 552, 590
*
(dereference), 569
StrBlobPtr
, 569
&
(address-of), 554
->
(arrow operator), 569
StrBlobPtr
, 569
[]
(subscript), 564
StrVec
, 565
()
(call operator), 571
absInt
, 571
PrintString
, 571
StrVec initializer_list
, 563
Sales_data
, 564
+
(addition),Sales_data
, 560
==
(equality), 561
Sales_data
, 561
!=
(inequality), 562
Sales_data
, 561
<
(less-than), strict weak ordering, 562
Sales_data
, 558
Sales_data
, 557
&&
(logical AND), 554
||
(logical OR), 554
&
(bitwise AND),Query
, 644
|
(bitwise OR),Query
, 644
~
(bitwise NOT),Query
, 643
,
(comma operator), 554
ambiguous, 588
arithmetic operators, 560
associativity, 553
binary operators, 552
candidate function, 587
consistency between relational and equality operators, 562
equality operators, 561
explicit call to, 553
postfix operators, 568
precedence, 553
relational operators, 562
requires class-type parameter, 552
short-circuit evaluation lost, 553
unary operators, 552
override, virtual function, 595, 650