Generic implementations of C++ STL vector, stack, queue, ...
- Temporary objects cannot be initialized with non-const reference
- What to return from overloaded
[]
operator, so that it does not result in a Rvalue - What does it mean to return a reference( related to 2)
- Operator overloading chaining, in equality operator, used for
operations like
a=b=c
. - When you create a move constructor, the default copy constructors are not created, by the compiler.
- vectors which throw exceptions when out of bounds elements are accessed. (This feature is available in c++, but we need to use
my_vector.at(index)
) - c++ queue is not iterable while deque is, so implement an iterable queue.
- Java/Python inspired map for c++, which does not automatically create map objects when tried to acces.
What does it mean to return a reference
and when should we do it
Move constructors(why do we need them )
Templates in depth