Raccoon, virtual base class, 812
raise exception, see
throw
rand function, drawbacks, 745
random header, 745
random IO, 765
machine-dependent, 763
program, 766
random-access iterator, 412, 418
random-number library, 745
compared to
randfunction, 745
default_random_engine, 745
max, min, 747
retain state, 747
range, 747
random_shuffle, 878
range for statement, 91, 132, 187, 187–189, 200
multidimensional array, 128
not with dynamic array, 477
range_error, 197
rdstate, stream, 313
read
istream, 763
Sales_data, 261
reallocate, StrVec, 530
move iterator version, 543
variadic template, 701
ref, binds reference parameter, 400, 418
see also lvalue reference
see also rvalue reference
autodeduces referred to type, 69
collapsing rule, 688
forward, 694
lvalue arguments, 688
move, 691
rvalue reference parameters, 693
const, see reference toconst
conversion
not from
const, 61
to reference to
const, 162
data member, initialization, 289
declaration style, 57
decltypeyields reference type, 71
definition, 51
derived-to-base conversion, 597
under multiple inheritance, 805
dynamic_castoperator, 826
initialization, 51
member function, 546
bind, 400
limitations, 214
remove_reference, 684
return type, 224
assignment operator, 500
is lvalue, 226
return value, local variable, 225
to array parameter, 217
reference, container, 333
reference count, 452, 491, 514, 550
copy assignment, 514
copy constructor, 514
design, 514
destructor, 514
argument, 211
initialization, 61
return type, 226
error_type, 732
header, 728
syntax_option_type, 730
regex_constants, 743
match_flag_type, 743
format flags, 744
format string, 742
regular expression library, 728, 770
case sensitive, 730
compiled at run time, 732
ECMAScript, 730
file extension program, 730
i before e program, 729
version 2, 734
pattern, 729
phone number,
valid, 740
phone number pattern, 739
phone number program, 738
phone number reformat, program, 742
regex iterators, 734
search functions, 729
smatch, provides context for a match, 735
subexpression, 738
file extension program version 2, 738
types, 733
valid, program, 740
machine-dependent, 164
relational operators, 141, 143
arithmetic conversion, 144
container adaptor, 370
container member, 340
function object, 574
iterator, 111
overloaded operator, 562
Sales_data, 563
string, 88
tuple, 720
vector, 102
release, unique_ptr, 470
remove, 878
listandforward_list, 415
remove_copy, 878
remove_copy_if, 878
remove_from_Folders, Message, 523
remove_if, 878
listandforward_list, 415
remove_pointer, 685
remove_reference, 684
move, 691
string, 362
replace_copy_if, 874
replace_if, 875
reserve
string, 356
vector, 356
reserved identifiers, 46
reset
bitset, 727
shared_ptr, 466
unique_ptr, 470
reset program
pointer parameters, 209
reference parameters, 210
resize
invalidates iterator, 352
sequential container, 352
value initialization, 352
restricted word_count program, 422
*(dereference), lvalue, 135
[](subscript), lvalue, 135
,(comma operator), lvalue, 158
?:(conditional operator), lvalue, 151
cast, lvalue, 163
rethrow, 776
exception object, 777
return statement, 222, 222–228
from
main, 227
implicit return from
main, 223
return type, 2, 27, 202, 204, 252
array, 204
array using
decltype, 230
function, 204
function pointer, 249
using
decltype, 250
linkage directive, 859
main, 2
member function, 283
nonreference, 224
copy initialized, 498
pointer, 204
pointer to function, 204
reference, 224
reference to
const, 226
reference yields lvalue, 226
virtual function, 606
void, 223
return value
conversion, 223
copy initialized, 498
initialization, 224
local variable, pointer, 225
reference, local variable, 225
tuple, 721
type checking, 223
unique_ptr, 471
reverse, 878
listandforward_list, 415
reverse iterator, 401, 407–409, 418
++(increment), 407
base, 409
compared to iterator, 409
reverse_copy_if, 414
reverse_iterator
compared to
iterator, 408
rfind, string, 366
right, manipulator, 758
rotate, 878
rotate_copy, 878
virtual destructor exception, 622
run-time type identification, 825–831, 864
compared to virtual functions, 829
bad_cast, 826
to poiner, 825
to reference, 826
type-sensitive equality, 829
returns
type_info, 827
initialization from
string, 196
copy initialization, uses move constructor, 539
result
++(increment) postfix, 148
--(decrement) postfix, 148
function nonreference return type, 224
cast from lvalue, 691
collapsing rule, 688
compared to lvalue reference, 533
function matching, 539
initialization, 532
member function, 546
overloaded, 547
move, 533
parameter
member function, 544
preserves argument type information, 693
template argument deduction, 687
variable, 533