Index
Gathered here are only the places where this book defines a concept or treats it head on. Places where a word merely passes by are not listed — the purpose of an index is not to count every appearance but to tell you where to open the book.
This edition (HTML) has no page numbers, so only the headwords are listed. The index with page numbers is in the PDF edition.
- ABI
- AddressSanitizer
- Annex J.2
- BCP 47
- BNF
- CFI
- COM
- COS
- CPython
- Cfront
- DWARF
- Duff's device
- EBNF
- ELF
- GObject
- Harvard architecture
- IEEE 754
- ISO 3166
- ISO 4217
- ISO 639
- JSON
- LEB128
- Liskov substitution principle
- MPU
- MTE
- NUL character
- Objective-C
- PIE
- QueryInterface
- RAII
- SOLID
- Simula
- Smalltalk
- Spectre
- TCM
- TLB
- TLV
- UTF-16
- UTF-8
- Unicode
- Vala
- X Toolkit Intrinsics
- XIP
- abstract machine
- address
- address translation
- aggregate type
- alignment
- alignment specifier
- allocated
- allocator
- arena
- arithmetic type
- array
- array of structures
- arrays and pointers
- assert
- assignment
- atomic
- atomic operations
- attribute
- bank switching
- batching
- baud
- bit
- bit position
- block
- bool
- boolean
- boustrophedon
- branch prediction
- breakpoint
- bss
- bswap
- buffer overflow
- buffer overrun
- build
- build id
- bulk
- byte
- cache
- cache line
- call chain
- call expression
- canary
- capability
- cardinal
- cbSize
- character classification
- character set
- checked arithmetic
- clang-format
- column-major
- compare-and-swap
- comparing reals
- compilation
- compiler
- compiler optimisation
- complete type
- compound literal
- conservative collector
- const
- constant
- constant time
- context
- contract
- copy-on-write
- coroutine
- coverage
- cursor
- dangling pointer
- data layout
- data race
- deadlock
- debug information
- debugger
- decay
- defect report
- denial of service
- dependency inversion principle
- dereference
- deserialisation
- devirtualisation
- direct cost of virtual function calls
- division
- double expansion
- dump
- dynamic allocation
- dynamic dispatch
- dynamic virtual table
- effective type
- embedded
- encapsulation
- encoding
- endianness
- entity component system
- exception
- exit status
- expression
- expression problem
- external fragmentation
- failure atomicity
- false sharing
- fat pointer
- fixed point
- fixture
- flexible array member
- floating point
- floating-point exception
- flush
- fork
- format string
- fragile base class
- fragmentation
- frame
- freestanding
- function
- function prototype
- function specifier
- fuzzing
- garbage collector
- generation number
- generational collection
- git
- handle
- hash map
- header file
- heap
- hot field
- icc
- identifier
- implementation-defined
- implicit conversion
- incomplete type
- indeterminate value
- inheritance
- inline cache
- instruction set
- integer promotion
- integer type
- interface segregation principle
- interpositioning
- interrupt
- introsort
- invariant
- isochronous
- keyword
- kobj
- late binding
- lazy allocation
- level
- lifetime
- linkage
- linking
- locale
- localeconv
- locality
- lock-free
- loop
- loop unrolling
- lvalue
- main
- megamorphic
- memory address
- memory error
- memory leak
- memory management
- memory regions
- memory-mapped I/O
- misalignment
- modifiable lvalue
- mount
- multicore
- multidimensional array
- multitasking
- name collision
- name space
- namespace
- negative check
- nested loop
- nodiscard
- nominal
- non-local jump
- non-value representation
- normalization
- null pointer
- nullptr
- object
- object-oriented programming
- off-by-one
- one past the end
- ones' complement
- opaque type
- open–closed principle
- operators and expressions
- ordinal
- overflow
- overloading
- overlong
- overriding
- owning and borrowing
- padding
- page
- parsing input
- partition
- performance monitoring unit
- pipeline
- placemarker
- point
- pointer
- pointer type
- pointer zap
- polling
- polymorphism
- pool
- port-mapped I/O
- position-independent code
- precedence rule
- preprocessor
- priority inversion
- process
- provenance
- ratchet
- reading declarations
- real type
- recursion
- redirection
- reference counting
- region
- register
- reset vector
- retpoline
- ring buffer
- rr
- rvalue
- sanitizer
- scalar type
- scanner
- scope
- sector
- secure boot
- selector
- sequence point
- serialisation
- shadowing
- shell
- shift
- side effect
- sig_atomic_t
- sign extension
- signal
- sigrok
- single responsibility principle
- skew
- speculative execution
- spill
- spinlock
- sqlite3_vfs
- stack
- stack protector
- stack size
- standard library
- standard output
- static
- static_call
- sticky error
- storage duration
- storage-class specifier
- stream
- strict aliasing
- string
- struct
- structure of arrays
- subnormal number
- subscript
- swap-remove
- symbol table
- tcache
- terminal
- test
- thread
- tier
- tiling
- timing side channel
- tracing collection
- trait
- translation phase
- translation unit
- trap representation
- true
- two's complement
- type
- type qualifier
- typedef
- undefined behaviour (UB)
- union
- unspecified
- unwind table
- use after free
- usual arithmetic conversions
- utilisation ratio
- variable
- variable-length integer
- variadic arguments
- view
- virtual address
- vkGetDeviceProcAddr
- volatile
- volume
- warning options
- watchpoint
- weak reference
- wide character
- witness
- word
- yo-yo problem
- zero-copy format
- zigzag encoding