discovering_modern_c_plus_plus_2nd_edition_index

Discovering Modern C++ Index

Return to Discovering Modern C Plus Plus, 2nd Edition | Discovering Modern C++, C plus plus DevOps | C++ DevOps, C plus plus books | C++ books, C plus plus courses | C++ courses, C plus plus topics | C++ topics, C plus plus | C++

Subject Index

_MSC_VER, 68

__cpp_lib_chrono, 69

__cpp_modules, 68

Abrahams, David, 398

abs, 167

return type, 298

abs

in Mandelbrot set, 239

abs_view, 402

abstraction

penalty, 347

providing an, 72

access, 74–76

modifier, 74

Accumulatable, 196

accumulate, 231

abstraction penalty, 347

and concepts, 193

for summation, 154

from STL, 149

generic, 184

in STL, 212

accumulate, 354

accumulate_array, 152

Ada, 491

Adams, Douglas, 1

add, 355

address

0, 55

mapping, 422

space, 422

Adelstein, Bryce, 430

adjacent_difference, 231

ADL, 141–146

for selecting templates, 142

in specialization, 165

with operators, 142

with third-party libraries, 144

advance, 216

on vector iterator, 217

advance, 197

aggregate, 90

initialization, 90

Ahnert, Karsten, 284

Alexandrescu, Andrei, 75, 305

Algebra, 413

algebra, 355

linear, 52, 64

dense, 353

libraries, 284

package, 417

algorithm

block, 450

in STL, see STL, algorithm

numerical, 407

alias, 60

∼ing effect, 93

alignof, 19

all, 235

allocator

user-defined, 226

ambiguity

in specialization and overloading, 165

and, 16

anti-pattern, 366

any, 474

type, 262

<any>, 261

any, 261

any_cast, 261

application

scientific, 63

apply, 204

archive, 422, 428

argument

macro, 448

replication, 449

with explicit conversion, 137

with implicit conversion, 137

with uniform initialization, 89

argument-dependent lookup, see ADL

ARPREC, 283

array, 52–53

container, 62–64

declaration, 52

intrinsic support, 52

missing index check, 53

of higher dimensions, 52

operations, 52

size deduction, 53

two-dimensional, 461

array, 279, 413

as_const, 215

assembler, 477

output, 491

reading ∼ code, 175

assembly, 422

assert, 36, 445, 449

in debugger, 494

assert, 36

assignment, 17, 23, 88–89

as method only, 118

copy, 88

generation rule, 468–470

move, 94

generation rule, 470

self, 89

with initializer list, 90

assoc_laguerre, 251

assoc_legendre, 251

AST, 329

async, 273

async_executor, 278

asynchronous, 275

ATLAS, 353

atof, 444

atomic, 220, 277

assignment, 278

atomic, 282

atomic operation, 277

atomic_flag, 282

atomic_ref, 282

Austern, Matt, 212

auto, 155

auto_ptr, 57

AVX, 238, 334

back_insert_iterator, 233

bad_alloc, 93

bad_any_cast, 262

bad_cast, 393

bad_variant_access, 260

Baker, Lewis, 282

barrier, 282

Barton, John, 397

Barton-Nackman trick, 397

base_matrix, 380

basic_iteration, 275

Battista, Orlando Aloysius, 35

begin, 90, 153, 227, 315, 413

benchmarking, 353

beta, 251

bidirectional_iterator, 197

BidirectionalIterator, 217

in lists, 222

BidirectionalIterator, 213

binary, 8

BinaryFunction, 184

bind, 249

bit

masking, 163

bit-field, 501

Black, Fischer, 249

Black-Scholes model, 249

BLAS, 305, 353

Goto-, 354

HPR, see HPR, BLAS

in linker flags, 492

BLITZ++, 284

bool, 4, 162, 442

boolalpha, 45

Boost, 420

Asio, 44

Bindings, 305

Filesystem, 52

Function, 389

Graph Library (BGL), 285

Interval, 283

IOStream, 44

MPL, 307, 484

odeint, 284, 417

Operators, 398

Rational, 283

type traits, 254

BOOST_STATIC_ASSERT, 485

brace, 2, 90

elimination

in templates, 474

elision, 91

notation, 460

branching, 23

break, 26, 29

Brecht, Bertolt, 435

Brown, Rita Mae, 20

Brown, Walter, 243

Bruce, Craig, 491

buffer, 42

build, 419–427

process, 423

tools, 423–427

build_example.cpp, 420

Butcher tableau, 410

byte, 163

C

array initialization, 89

C code linked with C++ programs, 489

C code with C++ compiler, 489

casting, 390

emulated namespace, 139

impact on interfaces, 72

library, 107

naming, 489

block notation, 489

preprocessed, 420

struct, 75

type traits for ∼ compatibility, 255

C++

as superset of C, 489

managed, 448

project, 64–69, 407–434

C++03

array initialization, 52

C++11, 448

in MTL4, 451

narrowing in arrays, 52

smart pointers, 57

c++filt, 304

C99

not a subset of C++, 489

cache

coherency, 335

invalidation, 335, 350

L1, 321, 332

L2, 321

call

by reference, 30

by value, 30

stack, 40

caller, 204

Cantor dust, 286

capture, see lambda

<cassert>, 36

cast, 446

cross, 393

down, 391

reinterpret, 394

up, 390

ambiguous, 391

catch, 39

CCS, 206

chaotic

attractor, 409

dynamics, 409

Chapman, George, 365

char, 4, 446

chicken and egg, 149

<chrono>, 3, 267, 337

Church, Alonzo, 359

cin, 42

circular_area, 252

class, 39, 71–127

base, 79, 368

contained classes, 73

data member, see member variable difficult types, 467

derived, 75, 368

for both C and C++, 255

high-level, 472

member, see member variable

direct setting, 90

initialization list, see constructor

member function, see method

member variable, 73

access, 112

default value, 88

private, 75, 113

template, 62

to establish abstractions, 73

type definition, 73

class

instead of typenameclass, 130

class

abstract, 375

clear, 233

clock, 267

clone, 301

closure, 186

CMake, 425–427

<cmath>, 239, 489

co_await, 282

co_return, 282

co_yield, 282

code

assembler, 421

complexity, 389

conditional, 421

explosion, 347

hexadecimal, 422

legacy, 91

object, 422

coercion, 7, 15

Collatz series, 26

color coding, 239

column-major, 206

comment, 64

single-line, 4

common, 235

common_type, 317

common_type_t, 317, 325

common_view, 357

Commutative, 358

commutative, 344

CommutativeMonoid, 358

comp_ellint_1, 251

comp_ellint_2, 251

comp_ellint_3, 251

compilation, 421

ambiguous term, 419

conditional, 68

phases, 422

separate, 427–434

compile

time, 52

if, see conditional

compiler

call, 419

flag, 36

optimization, 353, 452

on tag types, 217

support

for garbage collection, 448

<complex>, 239

complex, 73

comparing magnitudes, 298

in mixed arithmetic, 241

library, 239

missing operator, 135

sorting ∼, 230

complex_abs, 86

complexity, 453

constant, 225, 231

linear, 231

logarithmic, 223, 225, 231

O(n log n), 230, 231

quadratic, 230, 231

compressed, 206

compressed_matrix, 395

computability theory, 359

concept, 354, 192–354

dispatching, 197

for a simple matrix, 302

for tuning, 329

model, 193

ordering, 197

refinement, 193

requirement, 193

semantic, 344

stream, 43

subsumption, 193

concept, 194

concurrency, 270–282

conditional, 256

implementation, 306

conditional_t, 256

Conjugate Gradients, 435

const, 6

advantages of, 452

method, 114

variable, 295

const_cast, 393

for third-party libraries, 305

const_iterator, 214

constant, 6

as macro, 448

global, 10

consteval, 291

constexpr, 190, 289–297, 448

for loop unrolling, 332

function at run time, 291

function template, 290

constinit, 296

construction

assignment-like notation, 86

explicit, 86

constructor, 43, 78–88

argument names, 81

converting, 395

copy, 83

default implementation, 83

generation rule, 468–470

mandatory user implementation, 84

reasons for generation, 83

with mutable reference, 469

with value argument, 83

default, 82

and references, 82

call, 82

generation rule, 467

in late initialization, 82

needed for containers, 82

default argument, 81

delegating, 87

exception-free, 301

explicit, 86

for complex, 79

illegal call, 80

implicit, 86

initialization list

braced notation, 92

initilization list, 79

move, 93

generation rule, 470

special, 82

syntax, 79

with initializer list, 90

container

as class template, 147

as return value, 453

associative, 224

in STL, 218

of references, 266

container_algebra, 414

continue, 29

convergence

quadratic, 268

conversion, 15

explicit, 137

function-style, 394

implicit, 7, 86, 455

in templates, 136

of numeric types, 396

coordinate, 175

copy

-constructable, 474

constructor, see constructor, copy

deep, 93

elision, 32, 94

explicitly deep, 93

instead of move, 472

shallow, 93

copy, 90, 229, 474

copy, 256

coroutine, 280

correctness

independent of storage, 73

counted, 236

cout, 2, 41, 213

setf, 45

__cplusplus, 490

CppCoro, 282

creature, 375

cref, 266

CRS, 206

CRTP, 397–401

cryptography, 247

<cstdint>, 446

<cstdlib>, 39

ctime, 267

<ctime>, 267

CUDA, 255

in MTL4, 284

static code analysis, 353

curiously recurring template pattern, see CRTP

cyl_bessel_i, 251

cyl_bessel_j, 251

cyl_bessel_k, 251

cyl_neumann, 251

Czarnecki, Krzysztof, 306, 483

D, 491

data

persistent, 93

transfer as bottle neck, 321

Davis, Sammy, Jr., 289

de Morgan’s law, 397

dead lock, 279

deallocation, 55

automatic, 56

double, 85

debugger

compiler flags for ∼, 492

text-based, 492

vs. logs in methods, 78

debugging, 492–496

dec, 45

declaration

in header, 427

variable, 23, 74

declare_no_pointers, 448

declare_reachable, 448

decltype, 155

declval, 171

declval, 403

decomposition, see also factorization

default, 111, 465

default-constructible, 80, 467

default_operations, 417

default_random_engine, 246

delete, 18, 55

declarator, 111, 117, 465

delete[], 54

deleter, 109

denominator, 75

dense_matrix

in conversion, 395

department, 100

<deque>, 221

deque, 221

emplace, 221

erase, 222

insert, 222

derivation, 43

from ostream, 121

derivative, 177, 408

higher-order, 181

derived, 367

design

domain-driven, 71

design guides

for method generation, 470

designated initialization, 91

destructor, 105–107

arguments, 105

generation rule, 467

main task, 105

virtual, 105

determinant, 450

development

test-driven, 450

diagonal

unit, 451

diamond shape, 381, 390

digit separator, 8

Dijkstra, Edsger W., 71

discard_block_engine, 247

discretization

equidistant, 409

temporal, 409

distance, 217

distance, 199

distribution

normal, 249

do while, 26

documentation

as text, 450

compilable, 450

domain

-specific embedded language, 117

expert, 71

dot, 87

double, 4

DSEL, see domain-specific embedded language

Du Toit, Stefanus, 72

Duff’s device, 444

dummy, 202

duration, 267

dxdt, 411

dynamic binding, 371

dynamic_cast, 393

dynamic_extent, 263

-E (flag), 420

/E (flag), 420

Eclipse, 3, 426

Einstein, Albert, 20

Eisenecker, Ulrich, 306

Eisenecker, Ulrich, 483

  1. elif, 68

ellint_1, 251

ellint_2, 251

ellint_3, 251

ellipsis, 404

in parameter packs, 201

  1. else, 68

else, 23–24

empty, 236

enable_if, 256, 312

enable_if_t, 256

enable_matrix_t, 314

encapsulation, 69

end, 90, 153, 227, 413

  1. endif, 68

endl, 2, 42

entropy, 247

eof, 50

equal, 124

equivalent, 123

error

code, 37

compile-time ∼, 176

estimation, 275

flag, 49

handling, 35–41

in template programs, 135

message

from macros, 448

parsing, 130

pointer-related, 56

program, 36

run-time ∼, 176

Euler scheme, 410

euler_step, 411

event

hardware, 247

operating system, 247

exception, 37–41, 49

and resource release, 106

in destructor, 105

exception, 39, 378

what, 378

<exception>, 378

exclusive_scan, 238

executable

size, 137

execution, 238

par, 238

par_unseq, 238

seq, 238

exit, 39

exit code, 444

expint, 251

explicit, 86, 119

in C++03, 87

in C++11, 87

export, 431

expression, 22

in C++, 22

conditional, see conditional operator

logic, 442

template, 32, 318–354

first library with ∼, 284

extension

.C, 420

.a, 422

.asm, 422

.c++, 420

.cc, 420

.cpp, 420, 427

.cxx, 420

.dll, 422

.hpp, 427

.i, 420

.ii, 420

.lib, 422

.o, 422

.obj, 422

.s, 422

.so, 422

extern, 430

factorization

in-place, 451

LU, 40, 89, 257, 450, 488

factory, 388

fallthrough, 26

false_type, 310

Fast Fourier Transformation, 441

Fatou dust, 286

featurism, 450

FEEL++, 285

FEM, 284

FEniCS, 284

Fertig, Andreas, 255

field, 73

FIFO, 221

file

close, 43

eof, 50

I/O, 43

in C++ project, 64

non-existing, 49

object, 428

open, 43

stream, 43, 106, 471

file_clock, 269

<filesystem>, 51

filter, 234

filter_view, 234

fin_diff, 177

final, 374

finance

quantitative, 249

find, 226

find_if, 229

find_if, 285

finite difference, 177

Fitzmaurice, Sue, 1

float, 4

floating_point, 252

<fmt>, 46, 172

for, 27

range-based, 215

for

range-based, 28

for_each, 414

for_each3, 415

for_each6, 415

for_each_n, 238

formal concept analysis, 129

<format>, 46, 172

formatter, 172

Forth, 457

Fortran, 439, 491 77, 72

forward, 134

forward_iterator, 199

forward_list, 150, 223

<forward_list>, 223

forward_range, 199

ForwardIterator, 209

ForwardIterator, 213

fprintf, 447

Fracassi, Fabio, 85

Franklin, Benjamin, 20

friend, 76, 113

inline, 103

fscanf, 447

fsize_mat_vec_mult, 333

fsize_mat_vec_mult_aux, 336

fsize_mat_vec_mult_reg, 336

fsize_matrix, 333

fsize_vector

compiler optimization, 330

fstream, 43

function, 30–35, 501

argument, 30–32

default, 31

constrained, 194

differentiable, 177

dispatching, 216

dynamic, 387

free, 113

generic, see template function

getter and setter, 75

header, 115

inline, 33, 429

address of ∼, 264

linear

piecewise, 210

local declaration, 429

main, 2, 35

missing in linkage, 428

no return value, 35

return value, 35

signatures of, 35

twice in linkage, 428

member vs. free, 118

nested call, 22

no match for, 136

nullary, 201

overloading, 33, 129

ambiguous, 165

parameter, 137

pointer, 411

vs. std::function, 265

redefinition, 429

result, 32–33

semantics, 450

signature, 453

template, see template, function

function, 161, 263, 273

function

in code selection, 389

<functional>, 249, 263, 266

functor, 177–185, 260, 411

argument, 210

exercise, 210

for loop unrolling, 331

short-hand, 185

via inheritance, 376

functor_base, 377

future, 272

wait, 274

<future>, 272

future_status

ready, 274

g++

constexpr, 291

implicit include, 135

register usage, 347

garbage collection, 447

interface, 448

Gauß circle problem, 108

Gauss-Jordan, 450

generator, 282

generic

reduction, 184

get, 273

GLAS, 493

GMP, 283

GNU, 2

Goethe, Johann Wolfgang von, 192

goto, 29

GPGPU, see GPU, 439

gps_clock, 269

GPU, 353, 441

and ODE, 409

graph, 56

Gregoire, Marc, 191

Grimm, Rainer, 282

Hamel, Lutz, 360

harmonic oscillator, 408

__has_include, 421

hash table, 225

Herbert

and ADL, 142

and CG, 436

and error handling, 37

and headers, 427

and his database, 108

and his hidden C sources, 489

offers header file, 489

hermite, 251

Hestenes, Magnus R., 435

hex, 45

hexadecimal, 8

hh_mm_ss, 269

hiding, see name, hiding

high_resolution_clock, 269

Hinnant, Howard, 98

hourglass API, 72

hours, 267

HPC, 283, 329

HPR, 284

BLAS, 284

Tensor, 284

-I (flag), 66

/I (flag), 66

I/O, 41–52

binary, 446

with variadic function, 478

C-style, 447

catching errors, 50

error, 49

format library, 46

formatting, 44

sufficient digits, 253

in expressions, 22

manipulator, 44

robust, 50

with exceptions, 50

with files, 43

without ADL, 142

iall, 456

IDE, 3

debugging, 496

identity

element, 253

identity, 358

identity element, 355

IEEE 754, 283

  1. if, 68

if, 23–24

constexpr, 170, 192

nested, 442

with initializer, textbf24, 257

  1. ifdef, 68
  1. ifndef, 68

ifstream, 43

implementation

generic, 129, 412

modularized, 412

import

name, 140

namespace, 141

include

standard ∼ directories, 66

  1. include, 66, 420

guards, 67

slash in, 67

with angle brackets, 66

with quotes, 66

inclusion, 66

inclusive_scan, 238

independent_bits_engine, 247

index

zero-based, 27

index_sequence, 203, 280

inequality, 398

inheritance, 73, 365–405

inheriting, 310

initial value problem, see IVP

initialization

aggregate, 90

braced, see initialization, uniform

designated, 91

non-narrowing, 9

uniform, 9, 87, 90–92, 451

in templates, 474

of arguments, 89

of empty pointer, 55

of return values, 92

with =, 82

initializer list, 89

in assignment, 90

in constructor, 90

vs. constructor, initialization list, 89

with trailing comma, 459

initializer_list, 151

<initializer_list>, 89

initilization list

in constructor, see constructor

inline, 33, see function, inline, see variable, inline

unrolled loop, 332

inner_product, 231

inorder, 281

input, 42

input_iterator, 195

InputIterator, 217

InputIterator, 213

insanity, 20

instantiation, 130–135

and executable size, 137

explicit, 131

implicit, 131

int, 4

int32_t, 446

integer_sequence, 203

integral, 356

integral_constant, 487

Integrated Development Environment, see IDE

Intel i7-3820, 337

interface

concise, 72

inter-language, 107

intuitive, 72

productive, 63

interoperation

with C and Fortran, 72

interruptible_iteration, 275

interruption

point, 275

interval

arithmetic, 283

closed, 152

right-open, 152, 214

invariant, 75, 369

inverse, 452

<iomanip>, 44

ios::binary, 446

ios_base, 45

<iostream>, 41

iostream, 43

<iostream>, 1, 420

iota, 200, 231

iota, 234

irange, 125, 456

irange, 234

is_a_matrix, 403

is_const

implementation, 306

in standard library, 254

is_literal_type, 291

is_matrix, 310

is_nothrow_assignable, 254

is_nothrow_copy_constructible, 301

is_pod, 255

is_prime, 431

is_reference, 298

is_rvalue_reference, 135

is_standard_layout, 255

is_trivially_copyable, 256

istream, 43

read, 446

iterator, 28, 153, 212–217

as generalized pointer, 212

beyond, 231

category, 213

dispatching on ∼ categories, 216

operations, 216

<iterator>, 216

IVPs, 408

Järvi, Jaakko, 312

Java, 3

generic functions, 137

join, 236

Josuttis, Nicolai, 211

jthread, 275, 282

Julia set, 286

Kalb, Jon, 107

KDE, 3

KDevelop, 3

kernel, 444

Kerr, Kenny, 282

key, 224

knuth_b, 247

Koenig, Andrew, 106

König, Tilmar, 407

label

in assembler, 422

laguerre, 251

lambda, 185–190

capture, 186

by reference, 187

by value, 186

init, 189

move, 189

constexpr, 296

exercise, 210

for sort, 230

in methods, 188

nested, 186

object, 411

return type, 186

language

core, 1, 62

feature

use new one, 68

functional, 22

machine, 421, 422

LAPACK, 305

latch, 282

late binding, 371

LATEX, 118

lazy evaluation, 274

left-adjusted, 45

legendre, 251

length, 103

less, 224

library, 211–287

for PDEs, 284–285

graph, 285

matrix template ∼ 4, see MTL4

scientific, 282–285

standard, 1, 38, 56, 62, 211–282

chrono, 267, 269

complex, 239–242

numerics, 239–252

random, 242–250

template, see STL

tutorial, 211

utilities, 256–269

with C interface, 53

LIFO, 221

<limits>, 245, 253, 298

linear_congruential_engine, 247

linearity, 73

linkage, 422, 428

block, 489

external, 429

internal, 429

order, 428

to C code, 489

linker

standard, 428

LINPACK, 329

Linux, 2, 498

Lipschitz-continuous, 409

Lisp interpreter, 483

list, 56

list, 150

erase, 222

in STL, 212, 222

performance, 222

<list>, 222

list_iterator, 153

literal, 7, 86

0, 55

binary, 8

hexadecimal, 8

octal, 8

user-defined, 103

local_t, 269

lock, 279

lock_guard, 276, 280

lock_shared, 277

long, 4

double, 4

long, 4

loop, 26–29

control, 29

overhead, 328

replaced by recursion, 332

size known at compile time, 330

unrolling, 328

automatic, 332

nested, 332

slowing down, 332

Lorenz system, 409, 417

lorenz, 418

lvalue, 13, 501

in tuple use, 259

in universal reference, 488

Mac OS, 498

macro, 12, 65, 421

as include guard, 67

definition, 65

enabling, 478

for constants, 448

function-like, 448

problems, 66

Magma, 357

Magnitude, 312

maintenance

with conditional compilation, 69

make, 423–424

make_index_sequence, 203

make_shared, 59

make_tuple, 258

Mandelbrot, Benoît B., 239

<map>, 224

map, 25, 224

at, 225

emplace, 267

find, 225, 267

insert, 267

of references, 266

map-reduce, 238

map_view, 401

<math.h>, 489

Mathematica, 441

mathematical

special functions, 250

MATLAB, 441

matrix

column, 456

dense, 329, 452, 461

row-wise, 462

exponentiation, 118

fixed-size, 332

Hilbert, 189

identity, 451

lower triangular, 450

norm, 452

permutation, 450

regular, 37

singular, 40

sparse, 413

square, 453

symmetric positive-definite, 435

transposed, 302

upper triangular, 450

matrix, 460

Maurer, Jens, 125

max, 129

max, 135

max_square, 448

maybe_unused, 203, 217

member_selector, 458

memcpy, 255

memmove, 255

memory

address, 54

allocation, 54, 412

as bottle neck, 321

automatic release, 447

dynamically allocated, 54

exhaustion, 56

hierarchy, 321, 322

leak, 55

management

encapsulation, 56

release, see deallocation

unused, 447

<memory>, 57

mersenne_twister_engine, 247

meta-function, 484

meta-programming, 156, 289–364

library support, 252

meta-tuning, 328–354

method, 73, 77–78

private, 75

public, 75

analytical, 407

Babylonian, 268

constant, 114

deletion

implicit vs. explicit, 472

generation, 111, 462

by base class, 466

by member, 466

design guides, 470

implicit, 466

of copy operations, 468–470

of default constructor, 467

of destructor, 467

of move operations, 470

suppression, 465

multi-step, 417

reference-qualified, 116

with default behavior, 111, 462

Meyers, Scott, 82, 133, 188, 473

Microsoft, 3

mile

nautical, 103

statute, 103

min_abs, 312

min_magnitude, 298

MinGW, 3

minimum, 317

minstd_rand, 247

minstd_rand0, 247

missing_exception, 405

MKL, 284, 354

mode

debug, 36

release, 36

modification

regarding private, 75

module, 430–434

interface, 431

std.core, 432

Monk, 477

Monoid, 358

monoid, 344

monoid_map, 358

Moore, Charles H., 456

move

assignment, 94

by copy, 472

constructor, 93

semantics, 32, 57, 93–96

move, 94, 95

abuse, 488

of tuple entries, 259

move-safe, 102

MPI, 412

mpi_algebra, 417

ms, 275

mt19937, 247

mt19937_64, 247

MTL4, 284, 449

abstraction penalty, 347

iteration control, 275

LU factorization, 451

nested unrolling, 350

terminology, 379

transposed view, 302

μ-recursive functions, 360

Mulansky, Mario, 284

mult_block, 351

multi_tmp, 345

multimap, 225

equal_range, 225

lower_bound, 225

upper_bound, 225

multiset, 223

contains, 223

Musser, David, 149, 212

mutable

in lambda, 187

mutable_copy, 469

mutex, 275

lock, 276

unlock, 276

Nackman, Lee, 397

Naipaul, V. S., 129

name

conflict, 64

demangler, 162, 304

hiding, 11, 474

in namespaces, 139

import, 140

in library, 139

in OS, 139

mangling, 422, 428

in RTTI, 304

incompatibility, 428

namespace, 12, 138–146

alias, 141

global, 139

import, 141

in generic programming, 138

qualification, 139

search in ∼, 139

NaN, 124

narrowing, 9, 397

in arrays, 52

in I/O, 51

in member initialization, 92

NDEBUG, 36

negate_view, 401, 403

.NET, 448

new, 18, 54

new[], 54

Newton’s equation, 408

next, 227

Niebler, Eric, 232

Niebuhr, Reinhold, 211

nodiscard, 38

noexcept, 41, 105

conditional, 301

in move operations, 94

norm

L1, 142, 312, 343

Frobenius, 188

norm, 239

not, 16

now, 267

nth_derivative, 181

NULL, 55

nullopt, 257

nullopt_t, 257

nullptr, 55, 94

num_cols, 379

num_rows, 379

number

amicable, 108

congruent, 108

Fibonacci, 289, 483

floating-point, 5, 15

integer, 4, 15

of arbitrary precision, 283

prime, 289, 481

rational, 283

<numbers>, 44, 251

numerator, 75

numeric

instability, 318

optimization, 328

<numeric>, 230

numeric_limits, 253

epsilon, 254

lowest, 254

max, 254

min, 254

-o (flag), 420

object, 74, 422, 501

emptied, 98

expired, 96

file, 422

and instantiation, 131

OCI, 107

oct, 45

octal, 8

odd_iterator, 209

ODE, 284, 407–418

autonomous, 408

explicit, 408

first order, 408

implicit, 408

non-linear, 408

order of, 408

real-valued, 408

ofstream, 43

omp_algebra, 417

on_each_nonzero, 188

one_norm, 313, 343

one_norm_ftor, 343

OOP, 365–405

opencl_algebra, 417

OpenMP, 353, 412

Operation, 413

operation

independent ∼s, 330

operator, 12–22

access ∼, 76–77

+ (addition), 13, 118, 319

&(address of), 19, 55

alignof, see alignof

() (application), 80, 118, 302, 461

() (application), 178

arithmetic, 13

arity, 118

= (assign), 18, 94, 136, 323, 330, 88–330

binary, 119

&(bitwise and), 17, 164

&= (bitwise and by), 18, 486

call, see operator, application

, (comma), 18, 23, 28, 203

∼x (complement), 17

?: (conditional), 18, 23, 25, 455

conversion, 164, 315, 395

-= (decrease by), 18

delete, see delete

  • (deref member deref), 19, 458
  • (derefer), 19, 55, 153

→ (derefer member), 19, 77, 117, 118

  • = (divide by), 18

/ (division), 13

== (equal), 16, 153

default, 398

generated, 121

≫ (extraction), 42

(greater), 16, 135
= (greater equal), 16

+= (increase by), 18

≪ (insertion), 42, 120, 142

≪ (left shift), 17

≪= (left shift by), 18

< (less), 16

⇐ (less equal), 16

linear, 71

&&(logical and), 16

. (member), 19, 74, 76

.* (member deref), 19, 458

% (modulo), 13

%= (modulo by), 18

  • (multiplication), 13

new, see new

! (not), 16

!= (not equal), 16, 153

generated, 121, 399

overloading, 19, 117–126

consistent, 117

exceptions, 19

priority, 118

return type, 118

– (post-decrement), 13

++ (post-increment), 13

– (pre-decrement), 13

– (pre-decrement), 213

++ (pre-increment), 13, 153

++ (pre-increment), 213

precedence, 20, 456

≫ (right shift), 17

≫= (right shift by), 18

  • = (scale by), 18

semantics, 456

≪ (shift), 2

sizeof, see sizeof

sizeof…, see sizeof…

spaceship, see operator, 3-way comparison

[] (subscript), 19, 114, 118, 323, 333, 456

[] (subscript), 214

- (subtraction), 13

⇔ (3-way comparison), 16, 122–125

throw, see throw

typeid, see typeid

- (unary minus), 13, 120

+ (unary plus), 13

optimization, see performance optimization

optional, 256

or, 16

or_eq, 16

order

of accuracy, 410

ordering

strict weak, 224

ordinary differential equations, see ODE

ostream, 43, 44, 120, 203, 446

write, 446

ostream_iterator, 213, 229

out of range, 27

output, 41

overflow, 27

overhead

exponential, 485

in HPC software, 347

of virtual functions, 365

overload

in specialization, 165

resolution, 474

override, 373

overriding

explicit, 372

/P (flag), 420

packaged_task, 272

pair, 259

first, 259

second, 259

parallelism, 270

parameter pack, 201

packing, 201

unpacking, 201

Parent, Sean, 233

parse, 51

most vexing, 82

partial_ordering, 123

partial_sort, 230

partial_sum, 231, 238

Pascal

assignment, 17

pattern matching, 329

PDE, 284

performance

in generic programs, 222

of templates, 137

optimization, 483

concept-based, 329

tuning, 318–354, 478

variation, 73

permutation, 457, 487

row, 451

person, 366

all_info, 367

PETSc, 489

π, 11, 430

Picard-Lindelöf theorem, 409

Pike, Kenneth L., 501

pipe, 499

pipeline, 268

pitfalls

in method generation, 470

plain old data type

seePOD, 255

POD, 255

point, 397

pointer, 54–60

deleter, 58

initialization, 55

initialize as empty, 55

polymorphic, 388

raw, 56, 471

referring other variable, 55

smart, 57–60, 117

shared_ptr, see shared_ptr (top level)

unique_ptr, see unique_ptr (top level)

weak_ptr, see weak_ptr (top level)

stale, 61

to member, 77, 458

Poisson, 439

polymorphism

dynamic, 371

run-time, 365

static, 371

polynomial, 126

popcount, 292

posit (number system), 283

postorder, 281

practice, 407

  1. pragma once, 67

precision (method of I/O streams), 253

preconditioners

dynamic selection, 387

predicate, 229

preorder, 281

preprocessing, 420

directive, 65

flag, 420

print, 202

printf, 447

printf, 404

private, 74

probability, 246

processor

many-core, 353

multi-core, 270

processors

super-scalar, 334

product

scalar, 87

program

deterministic, 21

error

static, 41

flow, 17

reliability, 452

source, 419

structure of, 10

programming

defensive, 36

extreme, 450

generic, 129–210

meta-∼, see meta-programming

object-oriented, 75, see OOP

with getters and setters, 77

paradigm, 129

structured, 29

template, 129

promise

in coroutines, 282

promise, 272

promoted, 396

property

mathematical, 73

protected, 74

proxy, 163, 462

Prud’homme, Christophe, 285

ptask, 273

public, 74

Python

as API for C++, 284

dynamic types, 155

range operations, 456

quantum phenomena, 242

queue, 56

RAII, 56, 106, 107, 276, 448

and rule of zero, 471

rand, 242

<random>, 242

random number, 242–250

distribution, 246, 248–249

generator, 246

pseudo-∼ generator, 242

truly ∼, 247

random_access_iterator, 198, 356

random_device, 247

random_numbers, 246

RandomAccessIterator, 216

RandomAccessIterator, 214

range, 125, 152, 199, 231–237, 455

adaptor, 234

checking, 462

<ranges>, 421

ranlux24, 247

ranlux24_base, 247

ranlux48, 247

ranlux48_base, 247

ratio, 268

rational, 126

rational, 74

real, 112

record, 260

recursion

in variadic templates, 201

infinite, 182

reduce, 238

ref, 266

refactoring, 454

reference, 30, 60–62

constant, 31

counting, 93

cyclic, 60

forward, 133

mutable, 44

not out-dating, 113

of member data, 112

of temporaries, 113

stale, 61

to local data, 61

universal, 133, 488

reference_wrapper, 60, 266

get, 266

referring, 206

register, 33

register, 335

reinterpret_cast, 394

replication

code, 429

requires, 194

reserve, 233

residuum, 275

ResizableRange, 233

resize, 413

resource

acquisition, see also RAII, 106

managed, 106

by user, 107, 471

release, 105

after exception, 106

return, 2

type, 32

automatic, 137

declaration, 156

deduction, 137

of lambda, 186

of mixed-type templates, 136

trailing, 156

value optimization, 95

Returnable, 196

reusability, 457

reverse, 236

riemann_zeta, 251

ROSE, 329

rotation, 175

RTTI, 303, 393

Rudl, Jan, 249

rule

of five, 471

of five defaults, 473

of six, 473

of zero, 471

trapezoid, 210

run time, 137

run-time type information, see RTTI

Runge-Kutta, 408

algorithm, 408

method, 410, 418

scheme

explicit, 409

RK4, 410

runge_kutta4, 413

runge_kutta4, 416

runtime_error, 378

rvalue, 93, 501

accept only ∼ argument, 488

and raw-pointers, 94

in tuple use, 259

with deleted move operations, 472

scale_sum2, 415

scale_sum5, 415

scanf, 447

scheme

explicit, 417

implicit, 417

predictor-corrector, 417

Scholes, Myron, 249

science

computer, 71, 470

scope, 10–12, 24

global, 10

in constructor, 81

local, 10

nested, 11

out of, 11

scoped_lock, 280

scr1, 448

seed, 242

segmentation fault, see segmentation violation

segmentation violation

in array, 53

selection

run-time, 459

semantics, 450

inconsistent, 87

operator vs. function notation, 321

semaphore, 282

semicolon, 23

SemiGroup, 358

sentinel, 235

separation of concerns, 21

set

sub-, 368

super-, 368

<set>, 223

set, 223

contains, 223

count, 223

find, 223

setprecision, 44

setw, 45

SFINAE, 312

Shabalin, Alex, 191

share price, 249

shared_mutex, 277

lock_shared, 277

unlock_shared, 277

shared_pointer, 467

shared_ptr, 58, 107, 448, 471

for resource rescue, 109

use_count, 59

shared_ptr, 282

shared_timed_mutex, 277

short, 4

shuffle_order_engine, 247

side effect, 14, 20, 73

in constexpr functions, 290

in lambda, 188

Siek, Jeremy, 26, 285, 398

signature, 34

of overridden methods, 372

signed, 4

Simple DirectMedia Layer, 239

simulation

large-scale, 318

single, 236

single responsible principle, see SRP

singleton, 77

size

compile-time, 330

compile-time ∼, 52, 174

run-time ∼, 54

static, see compile-time size

size, 413

size, 233

sized_range, 233

sizeof, 19

on arrays, 53

sizeof…, 19, 202

Skarupke, Malte, 474

slicing, 372

software

break, 49

confidence, 117

developer, 71

development, 450

domain-specific, 71

engineering, 71

high-performance, 321

non-portable, 68

scientific, 71, 435

structure of, 64

solver

asynchronous, 275

direct, 450

dynamic selection, 387

iterative

interruptible, 275

triangular, 453

solver, 220

sort, 230

intro-∼, 230

quick, 230

sort, 135, 238

with user-defined iterator, 209

source

preprocessed, 421

span, 263

sparse, 206

specialization, 162

ambiguity, 165

for hardware, 477

for type traits, 299

full, 167

of functions, 165

partial, 166, 300

sph_bessel, 251

sph_legendre, 251

sph_neumann, 251

split, 236

sqrt

in Mandelbrotsqrt set, 239

square root, 254

srand, 242

SRP, 107, 111

SSE, 238, 334, 353, 477

stable_sort, 230

stack, 208, 428

stack

specialization for boolstack, 209

with custom size, 209

stackless, 281

state_type, 413

statement, 23

compound, 2, 23

empty, 23

in Pascal, 22

static

in constexprstatic, 292

member variable, 77

method, 77

random engine, 246

variable, 441

static_assert, 41, 311

replacement, 485

std::

‘name’, see ‘name’ at top level

user code in ∼, 142

steady_clock, 269

period, 268

Stepanov, Alex, 149, 212, 347

Stiefel, Eduard, 435

STL, 25, 211–239

algorithm, 226–231

containers, 218–226

stof, 444

strcpy, 21

string, 2

C, 447

format, 447

string, 5, 44

<string>, 5, 8

string_view, 262

stringstream, 44

str, 44

strong_ordering, 124

Stroustrup, Bjarne, 65, 96, 106, 211

struct, 75

structured bindings, 159

student, 367

sub_matrix, 125

substitution failure is not an error, see SFINAE

subtract_with_carry_engine, 247

sufficient condition, 129

sum, 315

sum, 149

variadic, 200

Summable, 194

Sutter, Herb, 75, 100, 305

swap, 96, 145

switch, 26

in dynamic function dispatching, 387

with initializer, 26

symbol

found multiple times, 428

in object file, 422, 428

matching, 422, 428

not found, 428

weak, 429

symbol_counter, 260

system

linear, 417

system_clock, 269

to_time_t, 267

tag

dispatching, 217

type, 217

tai_clock, 269

take, 236

tangent, 183

Taylor series, 28, 182

TCP/IP, 44

template, 129–210

alias, 161

argument, 193

arbitrary number of ∼, 200

class, 147–185

function, 129–138

virtual, 389

library, 138

parameter, 192

non-type, 174

terse, 138

performance, 137

primary, 162

specialization, see specialization (top level)

variable, 191, 306

variadic, 200, 315

associtivity, 318

with mixed types, 136

tensor, 284

tensor, 161

termination criterion

type-dependent, 254

test, 37

testing, 206

randomized, 244

text

substitution, 66, 421

theory, 407

relativity, 176

string, 176

this, 88, 398

thread, 271

detach, 273

join, 272, 279

killing, 275

storage, 292

<thread>, 3

thread, 270

hardware_concurrency, 287

threads, 270

throw, 19, 38

re∼, 39

Thrust, 284

tie, 258

time

run, 54

time_point, 267

time_t, 267

time_type, 413

timer, 267, 269

to_string, 208

to_tuple_string(x, y, z), 208

trajectory, 408

discrete, 410

trans, 303

transform, 234

transform_exclusive_scan, 238

transform_inclusive_scan, 238

transform_reduce, 238

translation

unit, 421

transposed_view, 302

traverse, 281

tree, 56

trigonometry

with intervals, 283

try, 39

-catch-block, 39

in constexprtry, 292

tuple

access by entry type, 258

tuple, 204, 206, 257

get, 258

<tuple>, 257

Turing

machine, 359

Turing

computable, 360

Turing

complete, 360

Turing completeness, 360

Turing, Alan, 359

Twain, Mark, 20

type

-dependent behavior, 149

deduction, 131–135, 154–160, 176

for class templates, 156

for variables, 155

definition, 160–162

erasure, 261

exception, 38

generator, 205

generic, 129

in binary I/O, 446

intrinsic, 4, 7

introspection, 304

meaning of bites, 389

parameter

anonymous, 485

parametric, 129

pattern, 167

polymorphic, 370, 393

property, 291

safe, 422, 447

strongly ∼d, 4, 155

sub-∼, 368

super-∼, 368

trait, 298

in advance, 217

in standard library, 254

<type_traits>, 254, 298, 313, 317

typedef, 160

typedef, 402

typeid, 19

<typeinfo>, 303

typename, 130

UDL, see literal, user-defined

uint32_t, 446

UnaryFunction, 179

uncopyable, 195

uncover_members, 172

  1. undef, 66

unexpected, 301

union, 259

unique, 229

unique_ptr, 57, 107, 448, 471

get, 90

universal number arithmetic, 283

Unix, 498

unmovable, 195

unordered, 123

Unruh, Erwin, 289, 481

unseq, 238

unsigned, 4

upper_trisolve, 453

user-declared, 466

purely, 466

user-implemented, 466

using, 160

declaration, 140, 368, 369

directive, 141

utc_clock, 269

v-shape, 380

valarray, 63

operations, 63

sliced access, 63

usage, 64

valid (interval arithmetic), 283

value_type, 413

Vandevoorde, Daveed, 322

variable, 4–12

accessibility, 10

constant, see constant

declaration, 4

global, 10

in multiple translation units, 430

independent, 408

inline, 429

life time, 11

local, 10

real-valued, 408

visibility, 10, 11

variadic, see template

variant, 259

get, 260

variation, 249

vector, 27

addition, 52, 62

column, 453

generic, 147

in linear algebra vs. STL, 147

space, 63, 71

changing dimension, 89

temporary, 93

unit, 455

<vector>, 218

vector, 56, 62, 89, 413

capacity, 218

emplace, 220

emplace_back, 220

in Magnitudevector type trait, 300

in STL, 212, 218

of any, 474

of bool, 162

push_back, 218

resize, 219

shrink_to_fit, 219

size, 62

slow addition, 319

vector_bool_proxy, 163

vector_sum, 323

Veldhuizen, Todd, 284, 322, 360

VexCL, 284

ViennaCL, 284

view, 301

views, 234

virtual, 365, 370

base class, 384, 391

function table, 371

method table, 371

virtual, 255

pure, 375

visibility, 10, 368

visit, 261, 480

Visual Studio, 3

macros, 66

preprocessing flag, 420

pretty printer in debugger, 496

void, 32

volatile, 393, 394

vtable, see virtual function table

weak_ordering, 124

weak_ptr, 60

weak_ptr, 282

while, 26

Wilcock, Jeremiah, 312, 486

Williams, Anthony, 282

Windows, 3

<windows.h>, 3

xor, 16

xvalue, 98

Fair Use Sources

CPP ABI (Application Binary Interface), CPP ABO (Asymmetric Binary Operation) , CPP Abstract Base Class, CPP Access Specifier, CPP Accumulate Algorithm, CPP Adapter Class, CPP Adaptive Composite Pattern, CPP Address Sanitizer, CPP Aggregate Initialization, CPP Aggregation Relationship, CPP Alignment Requirement, CPP Aligned Allocation, CPP Aligned Deallocation, CPP Aligned Storage, CPP Alignment-Support Types, CPP Allocator Adaptor, CPP Allocator Requirement, CPP Allocator-Aware Container, CPP Allocator-Extended Constructor, CPP Allocator-Extended Move Constructor, CPP Allocator-Extended Swap, CPP Allocation Function, CPP Allowable Exception Specification, CPP ALPHA Conversion (Renaming of Bound Variables), CPP Alternative Token, CPP Analysis-Based Optimization, CPP And Keyword, CPP And_Eq Keyword, CPP Angle Bracket Inclusion, CPP Anonymous Namespace, CPP Anti-Unification, CPP API Bindings for [[CPP Libraries]], CPP Argument Dependent Lookup, CPP Argument Pack, CPP Argument Unpacking, CPP Array Decay, CPP Array New Expression, CPP Array-Bound Safe Function, CPP Array-To-Pointer Conversion, CPP Articulated Lvalues, CPP Artificial Dependency Injection, CPP Artificial Instantiation, CPP Assert Macro, CPP Assigned-To Null Pointer Check, CPP AST (Abstract Syntax Tree), CPP AsIf Rule, CPP ASM Keyword, CPP Associated Type, CPP Assumption Hints, CPP Asynchronous Exception, CPP Atomic Compare-And-Exchange Operation, CPP Atomic Constraint, CPP Atomic Flag, CPP Atomic Operations Library, CPP Atomic Relaxed Operation, CPP Atomic Release-Acquire Operation, CPP Atomic Signal Fence, CPP Atomic Strong Compare Exchange, CPP Atomic Weak Compare Exchange, CPP Attribute Namespace, CPP Attribute Syntax, CPP Audit Keyword, CPP Auto Keyword, CPP Automatic Storage Duration, CPP Awaitable Type, CPP Background Thread in [[CPP]], CPP Back-Inserter Iterator, CPP Back-Inserter Iterator Adapter, CPP Backtrace Support, CPP Balanced Binary Tree In [[CPP]], CPP Bandwidth Optimization in [[CPP]], CPP Base Class Subobject, CPP Basic Exception Guarantee, CPP Basic Guarantee, CPP Basic Iostream, CPP Basic IOS, CPP Basic Istream, CPP Basic Ostream, CPP Basic Streambuf, CPP Begin Iterator, CPP Bessel Functions, CPP Bidir Iterator Category, CPP Bidirectional Iterator, CPP Big-O Notation in [[CPP Context]], CPP Binary Compatibility, CPP Binary Literal, CPP Binary Search Algorithm, CPP Binary Tree Implementation Detail, CPP Binding Pattern, CPP Bit Mask Operation, CPP Bit Shift Operation, CPP Bitand Keyword, CPP Bitfield Implementation, CPP Bitor Keyword, CPP Bitset Class, CPP Bitwise Complement, CPP Bitwise Operator Overload, CPP Block Scope, CPP Blocking Function Call, CPP Blocking I/O in [[CPP]], CPP Boilerplate Code Generation, CPP Bool Keyword, CPP Boolean Literal, CPP Brace Initialization, CPP Braced-Init-List, CPP Break Keyword, CPP Bridge Pattern in [[CPP]], CPP Built-In Type, CPP Built-In Function, CPP Built-In Operator, CPP Bundled Header Units, CPP Byte-Wise Operations, CPP Call Once Function, CPP Call Operator, CPP Callable Object, CPP Candidate Function, CPP Capacity Member Function, CPP Capturing Lambda, CPP Case Keyword, CPP Casting Operator Overload, CPP CDECL Calling Convention, CPP CeePlusPlus Language Linkage, CPP Character Literal, CPP Char16_T Keyword, CPP Char32_T Keyword, CPP Char Keyword, CPP Checked Iterators, CPP Chi-Squared Distribution, CPP Circular Buffer Implementation, CPP Class Key, CPP Class Member, CPP Class Scope, CPP Class Template, CPP Class Template Argument Deduction, CPP Class-Scoped Enumeration, CPP Cleanup Function, CPP Client-Side Abstraction, CPP Clocale Header, CPP Close Function for Streams, CPP Code Bloat Minimization, CPP Code Gen Optimization, CPP Code Generation Rule, CPP Code Smell Detection, CPP CoAwait Keyword, CPP CoReturn Keyword, CPP CoYield Keyword, CPP Collateral Class Template Instantiation, CPP Common Reference, CPP Common Type, CPP Compact Exception Model, CPP Compilation Firewalls, CPP Compilation Unit, CPP Complete Object, CPP Complex Number Type, CPP Compound Assignment Operator, CPP Compound Literal, CPP Compound Requirement, CPP Concept Keyword, CPP Concept Map, CPP Concept Predicate, CPP Concrete Type, CPP Conditional Explicit, CPP Conditional Inference, CPP Conditional Operator, CPP Conditional Variable, CPP Conforming Implementation, CPP Conformed Specialization, CPP Conformance Level, CPP Conformance Test Suite, CPP Conjunction Concept, CPP Constant Expression, CPP Constant Initialization, CPP Constant Interval Bound, CPP Const Keyword, CPP Const Member Function, CPP Const Volatile Qualifier, CPP Const_Assert Macro, CPP Consteval Keyword, CPP Constexpr Keyword, CPP Constexpr Constructor, CPP Constexpr Function, CPP Constinit Keyword, CPP Constexpr If Statement, CPP Constraint Expression, CPP Constraint Satisfaction, CPP Constraint_Based Overload Resolution, CPP Constructor Delegation, CPP Constructor Inheritance, CPP Constructor Template, CPP Contextual Conversion, CPP Continue Keyword, CPP Contract Programming, CPP Contravariant Parameter Type, CPP Conversion Function, CPP Conversion Operator, CPP Conversion Sequence, CPP Copy Assignment Operator, CPP Copy Constructor, CPP Copy Ellision, CPP Core Constant Expressions, CPP Core Guidelines, CPP Coroutine Frame, CPP Coroutine Handle, CPP Coroutine State Machine, CPP Coroutine Suspension, CPP Count Algorithm, CPP Covariant Return Type, CPP CRTP (Curiously Recurring Template Pattern), CPP CTAD (Class Template Argument Deduction), CPP CUDA Extensions For [[CPP]], CPP Curly Brace Scope, CPP Custom Deleter in Smart Pointer, CPP Custom Exception, CPP Custom Literal Suffix, CPP Dangling Pointer Detection, CPP Dangling Reference, CPP Data Member Alignment, CPP Data Member Padding, CPP Data Race, CPP Data Segment, CPP Debug Macro, CPP Debug Symbol, CPP Decay Type, CPP Decltype Keyword, CPP Decomposition Declaration, CPP Deduction Guide, CPP Deep Copy, CPP Default Argument, CPP Default Capture, CPP Default Constructor, CPP Default Initialization, CPP Default Member Initializer, CPP Defaulted Function, CPP Defaulted Move Constructor, CPP Deleted Function, CPP Deleter Object, CPP Deletion Overload, CPP Demangled Name, CPP Dependent Base, CPP Dependent Name, CPP Dependent Scope, CPP Dependent Type, CPP Dependent Type Name, CPP Deprecated Attribute, CPP Design Pattern Application, CPP Designated Initializer, CPP Destructor, CPP Device Code in [[CPP Offloading]], CPP Diagnostic Message, CPP Digit Separator, CPP Direct Base Class, CPP Direct Initialization, CPP Directive, CPP Discard Block, CPP Discard Statement, CPP Disjunction Concept, CPP DLL Export, CPP DLL Import, CPP Do Keyword, CPP Do-While Loop, CPP Documented Behavior, CPP Dominance Analysis, CPP Double Keyword, CPP Downcast Operation, CPP Downward Closure, CPP DRY Principle in [[CPP]], CPP Dynamic Allocation, CPP Dynamic Cast Keyword, CPP Dynamic Exception Specification, CPP Dynamic Initialization, CPP Dynamic Linkage, CPP Dynamic Polymorphism, CPP Dynamic Type, CPP Eager Instantiation, CPP EBCDIC Support, CPP Effective Modern [[CPP Book Reference]], CPP Ellipsis Parameter, CPP Empty Base Optimization, CPP Empty Class, CPP Empty Parameter Pack, CPP Enable If Utility, CPP End Iterator, CPP End Of File State, CPP Endl Manipulator, CPP Enumeration Underlying Type, CPP Enumerator, CPP Enum Keyword, CPP Equality Operator, CPP Equivalence Relation, CPP Erased Type, CPP Error Handling Strategy, CPP Error State Indicator, CPP Exception Filter, CPP Exception Guarantee, CPP Exception Handling, CPP Exception Object, CPP Exception Safe Functions, CPP Exception Specification, CPP Exception Translation, CPP Execinfo Integration, CPP Execution Character Set, CPP Execution Policy, CPP Exhaustive Instantiation, CPP Explicit Conversion Operator, CPP Explicit Keyword, CPP Export Keyword, CPP Extern Keyword, CPP External Linkage, CPP External Template, CPP ExternC Linkage, CPP Face-Deletion Operator, CPP False Keyword, CPP Fast Floating-Point Mode, CPP Field Alignment, CPP File Scope, CPP Filebuf Class, CPP Filesystem Directory Iterator, CPP Filesystem Path, CPP Final Specifier, CPP Fixed-Size Array, CPP Fixed-Width Integer, CPP Floating Point Environment, CPP Floating Point Literal, CPP Fold Expression, CPP For Keyword, CPP For Range Loop, CPP Forward Declaration, CPP Forward Iterator, CPP Forward List, CPP Forwarding Reference, CPP Four-Phase Name Lookup, CPP Friend Class, CPP Friend Declaration, CPP Friend Function, CPP Front Insertion Operator, CPP Full Expression, CPP Full Specialization, CPP Function Adapter, CPP Function Call Operator, CPP Function-Like Macro, CPP Function Object, CPP Function Overload, CPP Function Parameter Pack, CPP Function Pointer, CPP Function Template, CPP Function Template Partial Specialization, CPP Function Template Specialization, CPP Garbage Collection Interface, CPP Gcc Extension For [[CPP]], CPP Generalized Constant Expression, CPP Generic Lambda, CPP Generic Programming, CPP Getline Function, CPP Global New Operator, CPP Global Namespace, CPP Global Object, CPP Global Variable, CPP GPU Offloading Support, CPP Greater Comparator, CPP Guaranteed Copy Elision, CPP Guarded Suspension, CPP Half-Open Interval in Iterators, CPP Handler Block, CPP Has Include Preprocessor, CPP Hash Function Object, CPP Heap Allocation, CPP Heuristic Inline, CPP Hidden Friend Idiom, CPP Hidden Implementation Detail, CPP Homogeneous Function Template, CPP Hook Function, CPP I/O Manipulator, CPP I/O State Flag, CPP I/O Stream Buffer, CPP I/O Stream Iterator, CPP If Constexpr, CPP If Keyword, CPP If-Else Chain, CPP Ill-Formed Program, CPP Immediate Function, CPP Implementation-Defined Behavior, CPP Implementation Limit, CPP Import Keyword, CPP Incremental Compilation, CPP Indeterminate Value, CPP Index Sequence, CPP Indirect Call Optimization, CPP Inheritance Chain, CPP Inherited Constructor, CPP Inline Assembly, CPP Inline Keyword, CPP Inline Namespace, CPP Inline Variable, CPP Input Iterator, CPP Integral Constant Expression, CPP Integral Promotion, CPP Integer Division, CPP Integer Literal, CPP Internal Linkage, CPP Intrinsic Function, CPP Invalid Pointer, CPP Invocation Operator, CPP IOS Base, CPP IOS Flags, CPP IOS Format State, CPP IOS Precision, CPP IOS Width, CPP Iostream Synchronization, CPP IPC Mechanisms in [[CPP (Non-OS Generic)]], CPP ISO Standard Committee, CPP IsLiteralType Trait, CPP Iteration Statement, CPP Iterator Adapter, CPP Iterator Category, CPP Iterator Invalidation, CPP Iterator Traits, CPP JIT Compilation for [[CPP]], CPP Just-In-Time Debugging, CPP Key Function, CPP Keyword Recognition, CPP Koenig Lookup, CPP Label Declaration, CPP Lambda Capture, CPP Lambda Closure Type, CPP Lambda Expression, CPP Lambda Introducer, CPP Lambda Object, CPP Language Linkage, CPP Late Template Parsing, CPP Lexical Block, CPP LIFO Semantics, CPP Lifetime Extension of Temporaries, CPP Lifetime Profile, CPP Limit Macro, CPP Link Time Optimization, CPP Linker Script Interaction with [[CPP Symbols]], CPP Linker-Aided Optimization, CPP Linktime Polymorphism, CPP Literal Operator, CPP Literal Suffix, CPP Literal Type, CPP Local Class, CPP Local Static Variable, CPP Lock Guard, CPP Lock-Free Programming, CPP Logic And Operator, CPP Logic Not Operator, CPP Logic Or Operator, CPP Logical Conjunction, CPP Logical Disjunction, CPP Long Double Keyword, CPP Long Keyword, CPP Lookup Rule, CPP Loophole Casting, CPP Low-Level Memory Intrinsics, CPP Lvalue Reference, CPP Lvalue Transformation, CPP Machine Code Generation for [[CPP]], CPP Magic Statics, CPP Magnitude Type, CPP Main Function, CPP Make Shared, CPP Make Unique, CPP Mangling, CPP Map Container, CPP Masked Operation, CPP Maximum Munch Rule, CPP Memento Pattern in [[CPP]], CPP Member Access Operator, CPP Member Initializer List, CPP Member Template, CPP Member Variable Template, CPP Memory Fence, CPP Memory Model, CPP Memory Order, CPP Memory Resource, CPP Metaclasses Proposal, CPP Metaobject Facility, CPP Metaprogramming, CPP MinGW Toolchain, CPP Minimal Perfect Forwarding, CPP Modified UTF-8 Strings in [[CPP Context]], CPP Module Interface Unit, CPP Module Partition, CPP Module Purview, CPP Module Unit, CPP Module-Mapper, CPP Modules TS, CPP Move Assignment Operator, CPP Move Constructor, CPP Move Iterator, CPP Move Semantics, CPP MSVC Extensions, CPP Multiple Inheritance, CPP Multiway Merge, CPP Mutable Keyword, CPP Mutable Lambda, CPP Name Hiding, CPP Name Lookup, CPP Named Requirement, CPP Narrow Character Type, CPP Narrowing Conversion, CPP Namespace Alias, CPP Namespace Keyword, CPP Natvis Debug Visualization, CPP Nested Class, CPP Nested Exception, CPP Nested Lambda, CPP Nested Namespace, CPP Nested Template, CPP New Expression, CPP Nibble Access in Bitset, CPP No Except Keyword, CPP No Return Function, CPP No Unique Address Attribute, CPP Noop Mutex, CPP Normative Reference in Standard, CPP Not Keyword, CPP Not_Eq Keyword, CPP noexcept Operator, CPP Nothrow Guarantee, CPP Null Pointer Constant, CPP Nullptr Keyword, CPP Number Literal, CPP Numeric Limit, CPP ODR (One-Definition Rule), CPP ODR-Use, CPP Opaque Enum Declaration, CPP Open Multi-Methods in [[CPP (Visitor Pattern)]], CPP Operator Delete, CPP Operator Delete[], CPP Operator Function Id, CPP Operator New, CPP Operator New[], CPP Operator Overload, CPP Optional Class Template, CPP Order Statistics Tree (Extension), CPP Ordered Comparison, CPP Ordered Map, CPP Ordered Set, CPP Ordering Category, CPP Ostream Iterator, CPP Out Of Line Definition, CPP Out Parameter Style, CPP Out-Of-Class Member Definition, CPP Output Iterator, CPP Over Alignment Support, CPP Overload Resolution, CPP Overloaded Operator, CPP Overloaded Template, CPP Overriding Function, CPP Package Manager for [[CPP Libraries]], CPP Pair Class Template, CPP Panic Mode Recovery in Parser, CPP Parameter Pack, CPP Parameter Pack Expansion, CPP Parent Class, CPP Partial Ordering of Function Templates, CPP Partial Specialization, CPP Perfect Forwarding, CPP PH (Placeholders) In Templates, CPP Placement Delete, CPP Placement New, CPP Plain Old Data (POD) Type, CPP Pmr Allocator, CPP Pointer Arithmetic, CPP Pointer Decay, CPP Pointer Interconvertibility, CPP Pointer To Member, CPP Polymorphic Allocator, CPP Polymorphic Class, CPP Polymorphic Lambda, CPP Polymorphic Type, CPP Postfix Decrement Operator, CPP Postfix Increment Operator, CPP Precompiled Header, CPP Predefined Macro, CPP Prefix Decrement Operator, CPP Prefix Increment Operator, CPP Preprocessing Directive, CPP Private Base, CPP Private Inheritance, CPP Protected Inheritance, CPP Public Inheritance, CPP Pure Virtual Function, CPP Qualifier Adjustment, CPP Qualified Id, CPP Qualified Lookup, CPP Qualified Name Lookup, CPP Quick_Exit Function, CPP RAII (Resource Acquisition Is Initialization), CPP Random Device, CPP Range Based For Loop, CPP Range Concept, CPP Range-V3 Library Integration, CPP Raw String Literal, CPP Realloc Function Avoidance, CPP Rebind Allocator, CPP Recursion Limit, CPP Redundant Move, CPP Reference Collapsing Rules, CPP Reference Parameter, CPP Reference Wrapper, CPP Reflexpr Keyword, CPP Register Keyword, CPP Regular Type Concept, CPP Reinterpret_Cast Keyword, CPP Relaxed Constraint, CPP Release Mode, CPP Requires Clause, CPP Requires Expression, CPP Requires Keyword, CPP Requirement Body, CPP Requirement Parameter, CPP Resource Leak Detection, CPP Resource Management, CPP Restricted Aliasing, CPP Return Keyword, CPP Return Type Deduction, CPP Reverse Iterator, CPP RIAA (Reverse RAII Approach, Hypothetical), CPP Ring Buffer, CPP RNG (Random Number Generator) Expanded As Random Number Generator, CPP Rule Of Five, CPP Rule Of Three, CPP Runtime Polymorphism, CPP Runtime Type Information, CPP Safe Bool Idiom, CPP Sampling Distribution Function, CPP Sanitizer, CPP Sargable Expression in [[CPP (Hypothetical Term)]], CPP Scalar Replacement of Aggregates, CPP Scenario Testing in [[CPP Unit Tests]], CPP Scope Guard Idiom, CPP Scope Resolution Operator, CPP Scoped Enumeration, CPP Scoped Lock, CPP Scoped Thread, CPP Secondary Template, CPP Segmentation Fault Handling, CPP Selection Statement, CPP Semaphore, CPP Sequence Container, CPP Shallow Copy, CPP Shared Future, CPP Shared Lock, CPP Shared Mutex, CPP Shared Pointer, CPP Short Circuit Evaluation, CPP Short Keyword, CPP Signed Integer Type, CPP Signature (Function), CPP Silent Conversion, CPP Simple Declaration, CPP Single Inheritance, CPP Single Module Unit, CPP Singleton Pattern in [[CPP]], CPP Sized Deallocation, CPP Sized Deallocation Function, CPP Slicing Problem, CPP Slice Array, CPP Smart Pointer, CPP Snowflake Operator (Hypothetical Term), CPP Software Transactional Memory Proposal, CPP Source Code Transformation, CPP Spacer Iterator (Hypothetical Term), CPP Special Member Function, CPP Specialization, CPP SFINAE (Substitution Failure Is Not An Error), CPP Shift Left Operator Overload, CPP Shift Right Operator Overload, CPP Short Lived Object Optimization, CPP Signed Char Type, CPP Signal Handler Invocation, CPP Signature of a Callable, CPP Silent Failure In Templates, CPP Sized Array To Pointer Decay, CPP Slice Iterator (Hypothetical Term), CPP Small Buffer Optimization, CPP Sort Algorithm, CPP Sorting Network Implementation, CPP Source Code Translation Unit, CPP Specialized Allocator, CPP Speculative Load, CPP Spin Lock Implementation, CPP Spurious Wakeup Prevention, CPP SSO (Small String Optimization), CPP Stable Partition, CPP Stack Allocation, CPP Standard Algorithm, CPP Standard Atomic, CPP Standard Backward Compatibility, CPP Standard Basic_String, CPP Standard Bitset, CPP Standard Byte Type, CPP Standard Charconv, CPP Standard Chrono, CPP Standard Codecvt, CPP Standard Compare, CPP Standard Concurrency Support, CPP Standard Condition_Variable, CPP Standard Container Adaptors, CPP Standard Container Erasure, CPP Standard Container Invalidation Rules, CPP Standard Deque, CPP Standard Duration, CPP Standard Dynamic Extent, CPP Standard Execution Policy, CPP Standard Filesystem, CPP Standard Fixed Size Array, CPP Standard Forward_List, CPP Standard Fstream, CPP Standard Function, CPP Standard Future, CPP Standard Hash, CPP Standard Iomanip, CPP Standard Ios, CPP Standard Iostream, CPP Standard Iostream Synchronization, CPP Standard Istream, CPP Standard Iterator, CPP Standard Layout Type, CPP Standard Library, CPP Standard List, CPP Standard Locale, CPP Standard Map, CPP Standard Memory, CPP Standard MultiMap, CPP Standard MultiSet, CPP Standard Mutex, CPP Standard Optional, CPP Standard Ostream, CPP Standard Pair, CPP Standard Priority_Queue, CPP Standard Promise, CPP Standard Queue, CPP Standard Random, CPP Standard Ratio, CPP Standard Raw Storage Iterator, CPP Standard Regex, CPP Standard Relaxed Iterator Concept, CPP Standard Scoped_Allocator_Adaptor, CPP Standard Set, CPP Standard Shared_Future, CPP Standard Shared_Ptr, CPP Standard Span, CPP Standard Stack, CPP Standard Streambuf, CPP Standard String, CPP Standard String_View, CPP Standard System_Error, CPP Standard Template Library (STL), CPP Standard Thread, CPP Standard Tuple, CPP Standard Type Erasure, CPP Standard Type Traits, CPP Standard Unique_Lock, CPP Standard Unique_Ptr, CPP Standard Unordered_Map, CPP Standard Unordered_Multimap, CPP Standard Unordered_Multiset, CPP Standard Unordered_Set, CPP Standard Utility, CPP Standard Valarray, CPP Standard Variant, CPP Standard Vector, CPP Static_assert Keyword, CPP Static Keyword, CPP Static Allocation, CPP Static Cast Keyword, CPP Static Data Member, CPP Static Storage Duration, CPP Storage Class Specifier, CPP Strict Aliasing Rule, CPP String Literal, CPP Stringification Macro, CPP Strong Exception Guarantee, CPP Structured Binding, CPP Subobject, CPP Substitution Failure, CPP Synchronized Pool Resource, CPP Synchronization Primitives, CPP Syntactic Category, CPP SzArray (Hypothetical Term), CPP Template Argument Deduction, CPP Template Class, CPP Template Constrained Function, CPP Template Friend, CPP Template Instantiation, CPP Template Metaprogramming, CPP Template Parameter, CPP Template Parameter Pack Expansion, CPP Template Partial Specialization, CPP Template Specialization, CPP Temporary Materialization, CPP Ternary Operator, CPP This Keyword, CPP Thread Local Keyword, CPP Thread Safe Initialization, CPP Three Way Comparison Operator, CPP Throw Expression, CPP Throw Keyword, CPP Token Concatenation, CPP Token Pasting Operator, CPP Traits Class, CPP Trampoline Function Technique, CPP Translation Unit, CPP Trigraph Sequence, CPP Trivial Class, CPP Trivial Type, CPP True Keyword, CPP Try Keyword, CPP TU (Translation Unit) Expanded As Translation Unit, CPP Type Alias, CPP Type Alias Template, CPP Type Deduction, CPP Type Erasure Idiom, CPP Type Id Expression, CPP Type Parameter Pack, CPP Type Promotion, CPP Type Safe Union, CPP Type Trait, CPP Type Transformation, CPP Type_Safe Enum Idiom, CPP Typename Keyword, CPP Underlying Type, CPP Unicode Literal, CPP Union Keyword, CPP Union Member, CPP Unique Address Optimization, CPP Uninitialized Fill, CPP Uninitialized Memory, CPP Uninitialized Value, CPP Universal Reference, CPP Unnamed Namespace, CPP Unordered Container, CPP Unreachable Code, CPP Unsigned Integer Type, CPP Utility Forward, CPP Value Category, CPP Value Initialization, CPP Variable Template, CPP Variadic Macro, CPP Variadic Template, CPP Vectorization Strategies, CPP Virtual Base Class, CPP Virtual Dispatch, CPP Virtual Function Table (VFT), CPP Virtual Function, CPP Virtual Inheritance, CPP Visible Entity, CPP Visibility Attribute, CPP Volatile Keyword, CPP Wchar_T Keyword, CPP Weak Symbol, CPP Wide Character Literal, CPP Wide String Literal, CPP Wide-Char Stream, CPP Widen Function, CPP Widening Conversion, CPP Working Draft of [[CPP Standard]], CPP Xor Keyword, CPP Xor_Eq Keyword, CPP Zero Initialization

C Plus Plus | C++: Effective CPP | Effective C++, C Plus Plus Best Practices | C++ Best Practices, CPP Core Guidelines (CG) by Bjarne Stroustrup and Herb Sutter | C++ Core Guidelines (CG) by Bjarne Stroustrup and Herb Sutter, C Plus Plus Fundamentals | C++ Fundamentals, C Plus Plus Inventor | C++ Inventor - C Plus Plus Language Designer | C++ Language Designer: Bjarne Stroustrup in 1985; C Plus Plus Keywords | C++ Keywords, CPP Built-In Data Types | C++ Built-In Data Types, C Plus Plus Data Structures | C++ Data Structures (CPP Containers) - C Plus Plus Algorithms | C++ Algorithms, C Plus Plus Syntax | C++ Syntax, C Plus Plus OOP | C++ OOP - C Plus Plus Design Patterns | C++ Design Patterns, Clean C Plus Plus | Clean C++ - C Plus Plus Style Guide | C++ Style Guide - C Plus Plus BDD | C++ BDD, C Plus Plus Standards | C++ Standards (C Plus Plus 23 | C++ 23, C Plus Plus 20 | C++ 20, C Plus Plus 17 | C++ 17, C Plus Plus 14 | C++ 14, C Plus Plus 11 | C++ 11, C Plus Plus 03 | C++ 03, C Plus Plus 98 | C++ 98), Bjarne Stroustrup's C Plus Plus Glossary | Bjarne Stroustrup's C++ Glossary - Glossaire de CCP - French, CppReference.com, CPlusPlus.com, ISOcpp.org, C Plus Plus Compilers | C++ Compilers (Compiler Explorer, MinGW), C Plus Plus IDEs | C++ IDEs, C Plus Plus Development Tools | C++ Development Tools, C Plus Plus Linter | C++ Linter, C Plus Plus Debugging | C++ Debugging, C Plus Plus Modules | C++ Modules (C Plus Plus 20 | C++20), C Plus Plus Packages | C++ Packages, C Plus Plus Package Manager | C++ Package Manager (Conan - the C/C Plus Plus Package Manager | Conan - the C/C++ Package Manager), C Plus Plus Standard Library | C++ Standard Library, C Plus Plus Libraries | C++ Libraries, C Plus Plus Frameworks | C++ Frameworks, C Plus Plus DevOps | C++ DevOps - C Plus Plus SRE | C++ SRE, C Plus Plus CI/CD | C++ CI/CD (C Plus Plus Build Pipeline | C++ Build Pipeline), C Plus Plus Data Science | C++ Data Science - C Plus Plus DataOps | C++ DataOps, C Plus Plus Machine Learning | C++ Machine Learning, C Plus Plus Deep Learning | C++ Deep Learning, Functional C Plus Plus | Functional C++, C Plus Plus Concurrency | C++ Concurrency, C Plus Plus History | C++ History, C Plus Plus Topics | C++ Topics, C Plus Plus Bibliography | C++ Bibliography, Manning CPP Series | Manning C++ Series, C Plus Plus Courses | C++ Courses, CppCon, C Plus Plus Research | C++ Research, C Plus Plus GitHub | C++ GitHub, Written in C Plus Plus | Written in C++, C Plus Plus Popularity | C++ Popularity, C Plus Plus Awesome | C++ Awesome, C Plus Plus Versions | C++ Versions. (navbar_cplusplus – see also navbar_cpp_containers, navbar_cppcon, navbar_cpp_core_guidelines, navbar_cpp23, navbar_cpp20, navbar_cpp17, navbar_cpp14, navbar_cpp11)


Cloud Monk is Retired ( for now). Buddha with you. © 2025 and Beginningless Time - Present Moment - Three Times: The Buddhas or Fair Use. Disclaimers

SYI LU SENG E MU CHYWE YE. NAN. WEI LA YE. WEI LA YE. SA WA HE.


discovering_modern_c_plus_plus_2nd_edition_index.txt · Last modified: 2025/02/01 07:01 by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki