January 2018
Intermediate to advanced
374 pages
9h 53m
English
Before we start walking through the STL containers and some other useful data structures, we will briefly discuss some properties of computer memory.
C++ treats memory as a sequence of cells. The size of each cell is one byte, and each cell has an address. Accessing a byte in memory by its address is a constant time operation, O(1), that is independent of the total number of memory cells. On a 32-bit machine, one can theoretically address 232 bytes, that is, around 4 GB, which restricts the amount of memory a process is allowed to use at once. On a 64-bit machine, one can theoretically address 264 bytes, which is so big that there is hardly any risk of running out of addresses.
The following image shows a sequence ...