1. Constructors

    It’s a complex topic ( complex only if actually know about the ins and outs of it ) and has a lots of nuances and gotchas to it in C++ so here’s my breakdown.

  2. Initializations

    It’s again a complex topic with a lot of nuances so my breakdown.

  3. To delete or free

    Both clear up memory but the intended use case is paired. free and malloc/caloc/realloc go together and likewise for delete and new.

  4. Pointers are Values

    A pointer is just like an int, excpet holding memory address. When passed to a function, they are passed by value.

  5. Array Operations

    kth smallest element ( or median finding ) The variation on quicksort called quickselect is used here.

  6. What is where in memory?

    How do you do a rough check as to what got allocated where in memory? Note that although this is not enforced by some standard, the address higher lower can be different, though for any sane implmentation, this would be the behavior.

  7. Array Transforms

    One of the simple topics that helps to think in higher terms rather than a “for” loop but people hide it behind the big name of “functional paradigm” or “functional programming”.

  8. realloc

    realloc behaviour when 0 malloc behaviour when 0 realloc complexity when shrinking malloc complexity func to concat two elems cannot return a int[] the case for array**.