To drive a car, one does not necessarily need to know the mechanics of how the engine works. This question falls in the same bucket because you're asking the candidate to come up with something that he'll never need to do. C++ 11 and Boost already provides the facilities to use smart pointers.