Holy fuck. Placement new is fucking crazy. The reinterpret_cast is probably redundant (since any pointer has an implicit conversion to void*), but I left it in there to scarify the code some more.
Now the container works with complex objects (it calls the copy-constructor and destructors properly and stuff, so nothing weird happens with objects that are maintaining memory and shit).
(from this week's assignment, implementing a stack, which naturally means for me to implement a deque to cripple into a stack...)