Iterator | Description |
input_iterator | Read values with forward movement. These can be incremented, compared, and dereferenced. |
output_iterator | Write values with forward movement. These can be incremented and dereferenced. |
forward_iterator | Read or write values with forward movement. These combine the functionality of input and output iterators with the ability to store the iterators value. |
bidirectional_iterator | Read and write values with forward and backward movement. These are like the forward iterators, but you can increment and decrement them. |
random_iterator | Read and write values with random access. These are the most powerful iterators, combining the functionality of bidirectional iterators with the ability to do pointer arithmetic and pointer comparisons. |
reverse_iterator | Either a random iterator or a bidirectional iterator that moves in reverse direction. |
Crawling through a file system
- How can we use C++ iterators to infiltrate a system, traverse the filesystem and exfiltrate what we need, and close the backdoor without detection?
Vectors
Info
A vector in C++ is a dynamically resizable array that, when overloaded, can cause a massive performance hit.
Can you memoize vector operations?
Links to revisit
c++ - Overloaded vector operators causing a massive performance reduction? - Stack Overflow cplusplus.com/doc/tutorial/ cplusplus.com/reference/
Faq
I tend to learn and grasp complex concepts by reading and, if not comprehending fast enough, then referencing video.