Skip to content

R

Raccoon, virtual base class, 812

raise exception, seethrow

rand function, drawbacks, 745

random header, 745

random IO, 765

  • machine-dependent, 763

  • program, 766

random-access iterator, 412, 418

random-number library, 745

random_shuffle, 878

range for statement, 91, 132, 187, 187189, 200

  • can’t add elements, 101, 188

  • multidimensional array, 128

  • not with dynamic array, 477

range_error, 197

rbegin, container, 333, 407

rdstate, stream, 313

read

reallocate, StrVec, 530

  • move iterator version, 543

recursion loop, 228, 252, 608

recursive function, 227, 252

  • variadic template, 701

ref, binds reference parameter, 400, 418

refactoring, 611, 650

reference, 50, 79

  • see alsolvalue reference

  • see alsorvalue reference

  • auto deduces referred to type, 69

  • collapsing rule, 688

  • forward, 694

  • lvalue arguments, 688

  • move, 691

  • rvalue reference parameters, 693

  • const, seereference to const

  • conversion

  • not from const, 61

  • to reference to const, 162

  • data member, initialization, 289

  • declaration style, 57

  • decltype yields reference type, 71

  • definition, 51

  • derived-to-base conversion, 597

  • under multiple inheritance, 805

  • dynamic_cast operator, 826

  • initialization, 51

  • member function, 546

  • parameter, 210214

  • bind, 400

  • limitations, 214

  • template argument deduction, 687689

  • 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

  • HasPtr class, 514516

reference to const, 61, 80

regex, 728, 770

regex_constants, 743

  • match_flag_type, 743

regex_error, 732, 770

regex_match, 729, 770

regex_replace, 742, 770

  • format flags, 744

  • format string, 742

regex_search, 729, 730, 770

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

  • match data, 735737

  • 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

reinterpret_cast, 163, 164

  • machine-dependent, 164

relational operators, 141, 143

  • arithmetic conversion, 144

  • container adaptor, 370

  • container member, 340

  • function object, 574

  • iterator, 111

  • overloaded operator, 562

  • pointer, 120, 123

  • Sales_data, 563

  • string, 88

  • tuple, 720

  • vector, 102

release, unique_ptr, 470

remove, 878

  • list and forward_list, 415

remove_copy, 878

remove_copy_if, 878

remove_from_Folders, Message, 523

remove_if, 878

  • list and forward_list, 415

remove_pointer, 685

remove_reference, 684

rend, container, 333, 407

replace, 383, 875

replace_copy, 383, 874

replace_copy_if, 874

replace_if, 875

reserve

reserved identifiers, 46

reset

reset program

  • pointer parameters, 209

  • reference parameters, 210

resize

  • invalidates iterator, 352

  • sequential container, 352

  • value initialization, 352

restricted word_count program, 422

result, 134, 169

  • * (dereference), lvalue, 135

  • [] (subscript), lvalue, 135

  • , (comma operator), lvalue, 158

  • ?: (conditional operator), lvalue, 151

  • cast, lvalue, 163

rethrow, 776

return statement, 222, 222228

  • from main, 227

  • implicit return from main, 223

  • local variable, 224, 225

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

  • trailing, 229, 252, 396, 684

  • virtual function, 606

  • void, 223

return value

reverse, 878

  • list and forward_list, 415

reverse iterator, 401, 407409, 418

  • ++ (increment), 407

  • -- (decrement), 407, 408

  • base, 409

  • compared to iterator, 409

reverse_copy, 414, 878

reverse_copy_if, 414

reverse_iterator

rfind, string, 366

right, manipulator, 758

rotate, 878

rotate_copy, 878

rule of three/five, 505, 541

  • virtual destructor exception, 622

run-time type identification, 825831, 864

  • compared to virtual functions, 829

  • dynamic_cast, 825, 825

  • bad_cast, 826

  • to poiner, 825

  • to reference, 826

  • type-sensitive equality, 829

  • typeid, 826, 827

  • returns type_info, 827

runtime binding, 594, 650

runtime_error, 194, 197

  • initialization from string, 196

rvalue, 135, 169

  • copy initialization, uses move constructor, 539

  • result

  • ++ (increment) postfix, 148

  • -- (decrement) postfix, 148

  • function nonreference return type, 224

rvalue reference, 532, 550

  • 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

  • forwarding, 693, 705

  • member function, 544

  • preserves argument type information, 693

  • template argument deduction, 687

  • variable, 533